TA的每日心情 | 慵懒 昨天 22:42 |
---|
签到天数: 196 天 连续签到: 1 天 [LV.7]常住居民III
|
本帖最后由 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:
这时绿色LED就熄灭了,点亮和熄灭可以分别使用:
- echo 1 > brightness # ON
- echo 0 > brightness # OFF
复制代码 如果要恢复心跳的触发方式,可以使用:
当然,如果提供的是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:
- root@myd-lr3568x:~# echo 154 > /sys/class/gpio/export
复制代码 可以看到,在/sys/class/gpio/目录下生成 gpio154这个目录
进入该目录以后可以看到有如下文件,其中的direction是表示GPIO的方向,值可能是in和out,而value是值,可能是0或者1,分别表示低电平和高电平:
通过逻辑分析仪可以测试输出情况:
硬件连接如下:
通过发送指令翻转,并抓波形:
- echo 0 > /sys/class/gpio/gpio154/value
复制代码 效果如下:
可见实现了正常的翻转。输入也是类似的。
最后,如果不需要使用154号GPIO,可以使用如下命令:
4. 小结
有这些工具命令以后,操作GPIO还是挺方便的,但是这个开发板上预留的GPIO口太少,很多都被占用了,例如:
这个算出来导出号码是124,但是实际上被占用了:
|
|