Linux应用层直接操作GPIO

Posted DoubleLi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux应用层直接操作GPIO相关的知识,希望对你有一定的参考价值。

Linux应用层直接操作GPIO

在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低。这个大大地提高了灵活性,官方的文档有GPIO Sysfs Interface for UserspaceGPIO Sysfs

这里我记录一下使用过例子:

# RK30_PIN0_PD4
# A0-7 -> 0-7 / B0-7 -> 8-15 / C0-7 -> 16-23 / D0-7 -> 24-31
echo 28 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio28/direction
echo 1 > /sys/class/gpio/gpio28/value
  • 1
  • 2
  • 3
  • 4
  • 5

以上代码作用是:将RK30_PIN0_PD4设置为输出,将输出电平设置为高电平。

OTG的PIN脚为RK30_PIN3_PD5

能有老手指点真好,以前想像过有没有办法直接在用户层控制GPIO的输入/输出并设置输出电平,不过最终没有了结果。

这个问题的背景是出在了对主板上的USB HOST口供电控制,在移植最新的内核版本到该主板上时,USB口没有供电输出,进行手动使能供电解决了问题所在。这个是手动控制,以后要添加到DTS文件中。

以上是关于Linux应用层直接操作GPIO的主要内容,如果未能解决你的问题,请参考以下文章

linux应用程序中如何操作gpio口

如何在Linux系统中直接操作GPIO

gpio IOCTL控制

Linux应用开发第九章GPIO编程应用开发

正点原子I.MX6U-MINI应用篇4嵌入式Linux关于GPIO的一些操作

Linux——Linux驱动之GPIO中断的应用实战(下)(中断下文之工作队列的使用,处理非常复杂且耗时的操作)