本此小实验使用的是arduino的引脚,通过杜邦线外接按键和小led灯
手册
根据手册可知,B1_11对应GPIO27(16+11),B0_09对应GPIO09
功能实现
灯闪烁
根据指导书可知通过将GPIO的编号写入文件,路径是sys/class/gpio,比如给出的示例是创建GPIO19的节点
然后在对应目录里进行方向(direction)和值(value)的设置,所谓方向就两个,即in 和out 代表输入和输出,值也是两个,1和0代表高和低电平。
本示例是GPIO9所以执行:
/sys/class/gpio/# echo 9 > export
之后会在gpio目录生成gpio9
把方向设为输出
/sys/class/gpio # echo out > /sys/class/gpio/gpio9/direction
亮灯和灭灯
/ # echo 1 > /sys/class/gpio/gpio9/value
/ # echo 0 > /sys/class/gpio/gpio9/value
可以通过shell编程来实现一秒钟闪烁灯
具体过程如下:
/ # ls sys/class/gpio/
export gpiochip128 gpiochip64 unexport
gpiochip0 gpiochip32 gpiochip96
/ # echo 9 > /sys/class/gpio/export
/ # ls sys/class/gpio/
export gpiochip0 gpiochip32 gpiochip96
gpio9 gpiochip128 gpiochip64 unexport
/ # echo out > /sys/class/gpio/gpio9/direction
/ # fec 402d8000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
while [ 1 ]; do echo 1 > /sys/class/gpio/gpio9/value; sleep 1; echo 0 > /sys
/class/gpio/gpio9/value; sleep 1; done
^C
/ #
按键控制灯
echo 27 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio27/direction
while [ 1 ]; do cat /sys/class/gpio/gpio27/value > /sys/class/gpio/gpio9/value; done