承接上期的开箱及装载Debian系统开箱贴,这期就运行在Debian系统上,简易操控一下板上的GPIO口,这里我们根据“快速参考手册”可知,板子上扩展出的两行排针的管脚分布。这里我们采用排针的16管脚,对应到核心板上的54引脚。
再结合《VisionFive2_40-Pin_GPIO_Header_UG》文档说明,可以知道排针的管脚号与核心板上对应的引脚关系。
然后我们在系统终端中依次输入如下命令:
1)配置GPIO54:
cd /sys/class/gpio
echo 54 | sudo tee export
#input password
2)进入到GPIO54目录:cd gpio54
3)将GPIO54设置为输出:echo out | sudo tee direction
4)将GPIO54设置为高电平,此时直接点亮外接的红色LED灯。
echo 1 | sudo tee value
5)将GPIO54设置为低电平,此时直接熄灭外接的红色LED灯。
echo 0 | sudo tee value
根据以上简易测试,验证了GPIO54可以被手动控制输出高低电平,没有被其他资源占用,因此可以根据以上逻辑,编辑一段shell脚本,来实现灯间隔1s的闪烁。
在桌面新建一个gpio.sh文件,然后使用vim打开,在文件中编辑如下:
#!/bin/sh
GPIO_COMMON=/sys/class/gpio
GPIO_EXPORT=$GPIO_COMMON/export
gpio_54 = 54
function puts()
{
echo "write $1 to $2"
echo $1 | sudo tee $2
}
puts $gpio_54 $GPIO_EXPORT
puts out $GPIO_COMMON/gpio$gpio_54/direction
for((i=0; i<20; i++)); do
echo "i=$i ..."
puts 1 $GPIO_COMMON/gpio$gpio_54/value
sleep 1
puts 0 $GPIO_COMMON/gpio$gpio_54/value
done
然后:wq保存退出,sudo chmod u+x gpio.sh,更改一下文件的属性,进入到文件的当前目录,直接执行该脚本./gpio.sh即可。
效果展示
|