04-Expansion_Pins_Testing
Last updated
ls /dev/ttyS*
/dev/ttyS1 /dev/ttyS3 /dev/ttyS4 /dev/ttyS5stty -F /dev/ttyS4 ispeed 115200 ospeed 115200 cs8echo kickpi > /dev/ttyS4cat /dev/ttyS4$ ls /sys/class/leds/
PD14 PE11 PG0 PG12 PG13 PG14 PG15 work-ledconsole:/ # ls /sys/class/leds/PD14
brightness device max_brightness power subsystem trigger uevent
console:/ # cat /sys/class/leds/PD14/brightness
255
console:/ # echo 0 > /sys/class/leds/PD14/brightness # Set low level
console:/ # echo 1 > /sys/class/leds/PD14/brightness # Set high levelcd /sys/kernel/debug/sunxi_pinctrl
# View pin configuration
echo PH8 > sunxi_pin
cat sunxi_pin_configure
# Configure pin as GPIO output
echo 'PH8 1' > function
# Check pin level
cat data
echo 'PH8 1' > data # Output high
echo 'PH8 0' > data # Output low
# For PL and later pins, switch device name first:
echo pio > /sys/kernel/debug/sunxi_pinctrl/dev_name
echo r_pio > /sys/kernel/debug/sunxi_pinctrl/dev_nameecho 3 > /sys/class/pwm/pwmchip0/export
echo normal > /sys/class/pwm/pwmchip0/pwm3/polarity # or "inversed"
echo 100000 > /sys/class/pwm/pwmchip0/pwm3/period # Period in ns
echo 20000 > /sys/class/pwm/pwmchip0/pwm3/duty_cycle # Duty cycle = duty_cycle/period
echo 1 > /sys/class/pwm/pwmchip0/pwm3/enablespi_test -p "hello" -vdmesg -n1 # Reduce log level to avoid interference
i2cdetect -y 3 # Scan devices on bus 3 (e.g., device at 0x51)