米尔电子
直播中

华仔stm32

3年用户 2991经验值
擅长:嵌入式技术
私信 关注
[资料]

【米尔王牌产品MYD-Y6ULX-V2开发板试用体验】python+shell点亮LED灯

在Linux中,最常见的读写GPIO方式就是用GPIO sysfs interface,是通过操作/sys/class/gpio目录下的exportunexportgpio{N}/direction, gpio{N}/value(用实际引脚号替代{N})等文件实现的,经常出现shell脚本里面。

首先声明GPIO口,比如GPIO24:

echo 24 > /sys/class/gpio/export

然后在/sys/class/gpio,会生成一个新目录,其名字叫gpio258

比如:GPIO24,N对应是24;进入其目录:cd /sys/class/gpio/gpio24

依次能看到:active_low 、device、 direction 、edge 、power 、subsystem 、uevent 、value

其中比较常用的是value文件,它存放GPIO的值;范围是:0或1。我们可以直接对它读写,达到读写GPIO的效果

这里采用shell+Python对GPIO24进行操作:

root@myd-y6ull14x14:~# echo 24 > /sys/class/gpio/export
root@myd-y6ull14x14:~# echo out > /sys/class/gpio/gpio24/direction

然后进入python3并书写函数:

>>> def writ_24(io_str):
...     with open('/sys/class/gpio/gpio24/value','w') as f:
...             f.write(io_str)
...             print("write_24: %s" % (io_str))
...

然后利用writ_24("1")或者writ_24("0")就可以点亮或者熄灭LED灯了:

>>> writ_24("1")
write_24: 1
>>> writ_24("0")
write_24: 0
>>> writ_24("1")
write_24: 1

更多回帖

发帖
×
20
完善资料,
赚取积分