大家好,今天主要和大家分享一下,如何在linux系统上,实现GPIO口的控制,其中GPIO在内核端基本操作如下。
第一:Linux系统中GPIO介绍
GPIO(General-Purpose IO Ports),即通用I0接口.GPIO的使用较为简单,主要分为输入和输出两种功能.GPIO主要用于实现一些简单设备的控制.在作为输入型GPIO的情况下,我们可以将该I0连接外部按键或者传感器,用于检测外部状态.当作为输出时,我们可以通过输出高低电平来控制外部设备的运转。
由于GPIO的功能多种多样,我们需要首先将引脚设置为GPIO.设置为GPIO之后,我们需要设置GPIO的方向.当设置为输出时,我们可以控制输出高电平或者低电平.当设置为输入时,我们可以读取GPIO的电平来判断外部输入电平的高低。
第二:Linux系统中GPIO接口内核配置地方
GPIO编程有多种实现方式,在这里,我们通过 sysfs方式来实现GPIO 的控制实现.
如果要通过sysfs方式控制gpio,首先需要底层内核的支持.为了实现内核对sysfs gpio的支持,我们需要在内核中进行设置.在编译内核的时候,加入Device Drivers-> GPIO Support ..>/sys/class/gpio"… (sysfsinterface).作为GPIO的引脚,不允许在内核中被用作其他用途.
在系统正常运行之后,我们可以在/sys/class/gpio下看到 sysfs 控制相关的接口