Linux系统中如何对瑞萨G2L的GPIO进行操作?
Linux系统中如何对瑞萨G2L的GPIO进行操作?
1:简介
在嵌入式系统中对GPIO的操作是最基本的操作。在Linux中有一个通用的GPIO操作方式,下面维芯科就介绍一下 “/sys/class/gpio” 方式。
在/sys/class/gpio/下有个export文件,向export文件写入要操作的GPIO号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO输入或者输出模式,而value可控制GPIO的状态或者读取状态。
/sys/class/gpio/目录下各个文件说明: /sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号; /sys/class/gpio/unexport 用于通知系统取消导出; /sys/class/gpio/gpioX/direction文件,可以写入in(设置输入方向)或out(设置输出方向); /sys/class/gpio/gpioX/value文件是可以读写GPIO状态; /sys/class/gpio/gpiochipX目录保存系统中GPIO寄存器的信息,包括每个寄存器控制引脚的起始编号,寄存器名称,引脚总数;其中X表示具体的引脚编号。 |
1:操作GPIO
1.1: 首先计算此引脚编号
引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数
举个例子: 以瑞萨G2L芯片为例子,双核A55处理器,高达1.2GHZ,工业级芯片,稳定性高,性价比好。
如果使想用 P43_2,那么引脚编号就可能等于 43 x 8 + 2 + 120 = 466。
GPIO_ID = GPIO_port * 8 + GPIO_pin + 120 |
1.2:Export该引脚
向 /sys/class/gpio/export 写入此编号,比如P43_2引脚,在 shell 中可以通过以下命令实现:
root@weathink:~# echo 466 > /sys/class/gpio/export |
命令成功后生成 /sys/class/gpio/ P43_2 目录,如果没有出现相应的目录,说明此引脚不可导出。
1.3:设定方向
direction 文件,定义输入输入方向,可以通过下面命令定义为输出。
root@weathink:~# echo out > /sys/class/gpio/P43_2/direction |
direction 接受的参数可以是:in、out、high、low。其中参数 high / low 在设置方向为输出的同时,将 value 设置为相应的 1 / 0。
1.4:GPIO输出
value 文件是端口的数值,为1或0,通过下面命令将P43_2 设置为高电平。
使用echo命令来设置GPIO
root@weathink:~# echo 1 > /sys/class/gpio/P43_2/value root@weathink:~# echo 0 > /sys/class/gpio/P43_2/value |
1.5:读取GPIO值
root@weathink:~# cat /sys/class/gpio/P43_2/value |
如果返回1表示高电平,返回0表示低电平。
维芯科 瑞萨 G2L核心板 : https://www.weathink.cn/products/hexinban/4.html
本文来自维芯科,转载请注明出处。
相关产品>
-
-
AM6254工控板
CPU:TI AM62X Cortex A53 单核 双核 四核架构:Cortex A53主频:1 4GHZ内存:2GByte DDR4工业级(可用1GByte)Flash:8Gbyte eMMC
了解详情 -
RK3568工控板
CPU:Rockchip RK3568架构:Cortex A55 四核主频:2 0GHz 1 8GHz内存:2GByte DDR4工业级(可用4GByte)Flash:8Gbyte eMMC(可用16G
了解详情 -
RK3568S核心板
CPU:RK3568架构:Cortex A55主频:1 2GHZ内存:512MB 1GB 2GB DDR4Flash:8Gbyte eMMC操作系统:Linux接口方式:邮票孔
了解详情