前面尝试了GPIO口的使用,但如何用按键来控制LED灯呢?
这就需要编程才能在一个循环的过程中来不断地检测按键的状态,进而控制LED灯的亮灭。
在编程时,主要涉及2个问题,即如何获取按键的状态并存入相应的变量,如何使用条件语句进行判别。
将检测状态存入变量的方法是:
变量=$(指令)
要获取与引脚GPIO87相连接的按键状态,则是使用以下指令:
f=$(cat gpio87/value
而使用的条件语句则与C语言有较大的区别,其判别条件的形式则是:
$变量 -eq 判别值
这里判别按键是否处于按下状态的指令则为:
if [ $f -eq 1 ]; then
执行指令
fi
需注意的是:在判断体的中括号[]内,需要前后都有空格,不然在执行时会报错。
在执行判别处理前,需按图1所示先生成设备GPIO88和GPIO87,并将GPIO88的属性设置为输出模式。
此外,还对按键的2种状态进行了测试。
图1 设备生成与配置
在完成了前面的准备后,可按图2来编写控制程序。
图2 控制程序
在运行程序后,则可得到图3和图4所示的测试效果。
图3 释放状态
图4 触按状态
视频演示:
按键控制LED灯
|