使用的核心板为COM-T6UL,主控为MCIMX6Y2

操作系统为:下图所示

Linux 4.14.98通过读取和写入文件形式操作GPIO输出高低电平和读取高低电平_设备树

 

 GPIO编号计算公式:(group -1 )*32 + number  其中group为其对应的组,number为组对应的编号;例如GPIO5_IO7,其group为第5组,第7编号,则对应操作系统编号为:(5-1)*32+7=135

此次记录随笔为通过文件系统来操作GPIO的输出和读取(需要dtb设备树支持),步骤如下:

1、先进入文件系统的GPIO外设其文件路径为/sys/class/gpio,使用命令:cd /sys/class/gpio ;

2、通过计算GPIO编号(group -1 )*32 + number  ,来带入要操作的gpioX文件夹,如上GPIO5-IO7,则进入其对应的文件夹gpio135,使用命令:cd gpio135 ;

3、进入文件夹后,其文件夹有几个文件,只需关注 direction和value,其中dirercion为设置GPIO的输出或输入;value为设置输出GPIO的高低电平或记录GPIO输入的高低电平;

  3.1、设置GPIO为输出使用命令 echo out > direction ;设置GPIO为输入使用命令:echo in > direction ;

  3.2、设置GPIO输出高电平,使用命令: echo 1 > value ;输出低电平命令为:echo 0 > value;

  3.3、读取GPIO输入高低电平,则使用命令 :cat value 即可查看此时GPIO的输入高低电平状态;

下图为实际操作截图:

Linux 4.14.98通过读取和写入文件形式操作GPIO输出高低电平和读取高低电平_文件路径_02

上图为操作设置GPIO5_IO5为输出方向,且输出高电平,然后设置GPIO5_IO7为输入,查看其输入状态