点击上方蓝字,关注微联智控工作室
可点击右上角的 …,分享这篇文章
作者使用的i.MX6UL开发板,带有两个LED,可以用来进行GPIO的输出实验。
目标:了解Qt应用程序如何控制GPIO,实现通用的输出控制。
功能:通过点击触摸屏上的按钮,实现LED不同的效果(开/关、心跳灯、硬盘灯)。
应用程序放在ubuntu系统/opt/work/qt-application/002_gpio_ctrl目录下。
i.MX6UL开发板的板载LED的硬件原理图如下所示:
从原理图可以看出,TQ-i.MX6UL使用了GPIO5_IO2和GPIO5_IO7这两个IO口进行LED的驱动,LED为高电平点亮。
一般情况下,如果使用通用的方法,进行嵌入式Linux的GPIO控制,可以通过访问/sys/class/gpio路径下的文件,控制GPIO的方向(输入还是输出),状态(高电平还是低电平)。
以控制GPIO5_IO2为例:
1. 计算对应sys/class/gpio的值GPIOn_IOx = (n-1)*32 + x
GPIO5_IO2=(5 -1)