对于GPIO口等设备来讲,不但可以使用指令来控制,还可以通过文件来控制。
这种文件的处理方式,十分类似于DOS操作系统中的批处理方式,是一系列指令的集合并具有相应的程序结构处理能力。
以控制连接引脚GPIO88的外观LED模块为例,使LED产生闪烁效果的程序如下图所示。

其中:
while
条件; do
...
done
的作用是构成一个有条件限制的循环,若条件为“true”,则构成一个无限循环。
指令sleep则是用于产生延时,延时值为“1”就是产生1秒的延时。
那么如何来创建这样一个文件呢?
使用touch 指令加文件名即可完成指定文件名的创建,以创建名为gpio_led.sh的文件为例,就是键入:
touch gpio_led.sh
那如何来编辑这个创建的新文件呢?
方式是使用vi指令加文件名,以编辑名为gpio_led.sh的文件为例,就是键入:
vi gpio_led.sh
对于vi指令来讲,它有3种工作模式,即命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。
在开始打开文件后,首先进入的则是命令模式,要对文件的内容进行编辑,则必须进入插入模式。
此时,按"a"键则可以在光标所在字符后开始插入,即键入新内容。
在键入整个循环结构体的程序内容后,则需要进入底行模式来保存文件。
其操作的方法是:
按":“键进入底行模式,然后键入“wq”则在保存后退出。
在编辑好该文件后,就可以进行测试了,其方法是:
使用source命令加文件名,即source gpio_led.sh,这样就可以运行该文件了,其效果演示视频所示。
由于该程序是一个无限循环程序,因此它是无法自行停下来的。那如何来终止它呢?
方法是按下组合键“Ctrl+C”
如果你连这个文件都不想见到,那就是使用rm指令加文件名将其删除,即rm gpio_led.sh。
以文件的方式控制外设,确实要比键入指令的控制方式效率高许多!
视频演示:
VID_20221204_223249
|