回答

收藏

[评测分享] 【米尔-MYD-LR3568-GK开发板--试用评测】2——灯,等灯等灯

#板卡评测 #板卡评测 1534 人阅读 | 0 人回复 | 2024-11-06

本帖最后由 stm1024 于 2024-11-6 23:07 编辑

今日评测使用开发板上的LED指示灯,阐述LR3568开发板上GPIO的输出操作。
1. 基本信息
和树莓派类似,GPIO 的控制是通过文件系统 sysfs 接口来实现的。可以通过/sys/kernel/debug/gpio查看相关信息:

可以看到有GPIO0到GPIO5共6组GPIO Port,每组最多有32个Pin,当然实际可供使用的并没有那么多,但是编号都是确定的。例如USER LED的就是gpio15,RUN LED用的是gpio23。
2. 操作LED
操作 LED 的目录为/sys/class/leds,该目录中包含:


其中run和user就是开发板上的RUN指示灯(绿色)和USER指示灯(中间红色)。
例如以操作RUN指示灯为例:

可以看到下面有几个文件,也是用作操作LED的,trigger是确定LED的触发形式,brightness是亮度
例如查看当前的触发形式:

有很多种,其中heartbeat被中括号包括起来,表示当前的方式,我们也可以修改为None:
  1. echo none > trigger
复制代码
这时绿色LED就熄灭了,点亮和熄灭可以分别使用:
  1. echo 1 > brightness # ON
  2. echo 0 > brightness # OFF
复制代码
如果要恢复心跳的触发方式,可以使用:
  1. echo heartbeat > trigger
复制代码
当然,如果提供的是kbd-capslock,可以发现按下键盘上的大写锁定键LED就会点亮,再按一下则会熄灭。

3. 操作GPIO
查看手册,可知J13下的15号针脚是GPIO:

由于是GPIO4_D2,则导出号为:4*32+(4-1)*8+2=154
其中4是应为采用了GPIO4,(4-1)中的4是由于D位于字母(A,B,C,D)的第4位,而2则是针脚为PIN2。
导出GPIO:
  1. root@myd-lr3568x:~# echo 154 > /sys/class/gpio/export
复制代码
可以看到,在/sys/class/gpio/目录下生成 gpio154这个目录

进入该目录以后可以看到有如下文件,其中的direction是表示GPIO的方向,值可能是in和out,而value是值,可能是0或者1,分别表示低电平和高电平:

通过逻辑分析仪可以测试输出情况:
硬件连接如下:

通过发送指令翻转,并抓波形:
  1. echo 0 > /sys/class/gpio/gpio154/value
复制代码
效果如下:

可见实现了正常的翻转。输入也是类似的。

最后,如果不需要使用154号GPIO,可以使用如下命令:
  1. echo 154 > unexport
复制代码

4. 小结

有这些工具命令以后,操作GPIO还是挺方便的,但是这个开发板上预留的GPIO口太少,很多都被占用了,例如:

这个算出来导出号码是124,但是实际上被占用了:



分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条