嵌入式linux应用程序开发-2i mx6ul gpio控制程序.pdfVIP

嵌入式linux应用程序开发-2i mx6ul gpio控制程序.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

EmbedIoTProfessionalEmbededIoTSolutionsProvider

i.MX6ULGPIO控制程序

TQ-i.MX6UL的底板带有两个LED,可以用来进行GPIO的输出测试实验。

目标:了解Qt应用程序如何控制GPIO,实现通用的输出控制。

功能:通过点击触摸屏上的按钮,实现LED不同的效果(开/关、心跳灯、硬盘灯)。

我们把GPIO控制程序放在ubuntu系统的/opt/work/qt-application/002_gpio_ctrl下。

TQ-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+xGPIO5_IO2=

(5-1)*32+2=130

2.将GPIO5_IO2设置为输出。

echo130/sys/class/gpio/export#用于通知系统需要导出控制的GPIO引脚编号

echoout/sys/class/gpio/gpio130/direction#控制为输出

echo1/sys/class/gpio/gpio130/value#输出为

或者echo0/sys/class/gpio/gpio130/value#输出为低电平

echo130/sys/class/gpio/unexport#通知系统取消导出

3.将GPIO5_IO2设置为输入。

echo130/sys/class/gpio/export#用于通知系统需要导出控制的GPIO引脚编号

echoin/sys/class/gpio/gpio130/direction#控制为输入

这时给该引脚接输入即为反之为低电平

echo130/sys/class/gpio/unexport#通知系统取消导出

EmbedIoT

EmbedIoTProfessionalEmbededIoTSolutionsProvider

我们不使用以上的方式进行控制,因为内核驱动里面,已经把这两个GPIO的资源用作LED

控制,如果强行使用以上方式进行GPIO控制,则系统会提示Deviceorresourcebusy

对于TQ-i.MX6UL平台,由于内核已经封装好LED的驱动程序,并且向应用层提供了LED的

控制接口(在/sys/devices/tform/leds/leds/下的LED1和LED2),因此,应用程序

可以基于这个接口,对相应的LED进行控制,下面以LED1为例:

/sys/devices/tform/leds/leds/LED1下的文件节点如下图所示:

这里关注两个节点:brightness和trigger。

brightness节点用来控制LED的亮灭,通过对brightness节点写入0或1,可以控制LED的亮

灭状态。由于TQ-i.MX6UL的LED接口不是使用

文档评论(0)

ericxiao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档