完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[td]本文档主要讲解,iMX6 开发板,通过 sys 文件的方式来控制 GPIO。
要通过sys控制GPIO,需要做以下几步操作: 1 开启内核中的“GPIO_SYSFS”驱动配置; 2 确保 IO 被配置为 GPIO,并且没有驱动调用; 3 计算 GPIO 编号,通过命令或者脚本操作 GPIO。 |
|
相关推荐
3个回答
|
|
|
|
|
|
确保 IO 被配置为 GPIO,并且没有驱动调用
这里以 LED 的 GPIO 为例, 将 LED 的驱动去掉,确保没有驱动调用。 Device Drivers ---> Character devices ---> Enable LEDS config ---去掉,并重新编译内核烧写到开发板中。 如下图所示配置 menuconfig。 烧写到开发板中,确保没有 led 的设备节点,默认的内核中是有 led 设备节点的,如下图所示。 GPIO 的配置这里就不再重复介绍,在“iTOP-iMX6-设备树内核-IO 配置分析文档_V1.0”中有介绍。 |
|
|
|
计算 GPIO 编号并测试
LED 的网络标号为:KEY_ROW6 LED 对应 GPIO 的 PIN 脚名称为:GPIO_2 GPIO_2 对应的宏定义为:#define MX6QDL_PAD_GPIO_2__GPIO1_IO02 那么 GPIO_2 对应的 GPIO 的 bank[n]为 GPIO1_IO02,也就是 bank 1 的 02 号 GPIO。 GPIO 的编号计算方法为:nr=(P -1)* 32 + N; nr 为编号,P 为 bank 号,N 为具体 bank 中的编号。 那么 P=1,N=2,通过计算得出 nr=2。 测试命令为: echo nr > /sys/class/gpio/export echo out > /sys/class/gpio/gpionr/direction echo 1 > /sys/class/gpio/gpionr/value ---> 写高电平,小灯亮 echo 0 > /sys/class/gpio/gpionr/value ---> 写低电平,小灯灭 以上 nr 替换成 GPIO 的编号,则命令为: echo 2 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio2/direction echo 1 > /sys/class/gpio/gpio2/value --->写高电平,小灯亮 echo 0 > /sys/class/gpio/gpio2/value ---> 写低电平,小灯灭 如下图所示,执行三条命令之后小灯亮。 接着执行 echo 0 > /sys/class/gpio/gpio2/value 小灯灭。 至此,sys 测试 gpio 完成。 另外需要注意的是,本文档没有介绍 LED 对应的管脚是如何配置的,因为 LED 驱动能够运行,那么肯定在设备树文件中配置了。 如果想要掌握如何配置管脚,可以参考“iTOP-iMX6-设备树内核-IO 配置分析文档_V1.X”和“iTOP-iMX6-设备树内核-IO 扩展例程_V1.X”文档。 |
|
|
|
只有小组成员才能发言,加入小组>>
791 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2710 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1070浏览 3评论
193浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 14:47 , Processed in 0.845047 second(s), Total 51, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号