RV1126的GPIO计算和使用

1、获取GPIO芯片对应的序号值

    先读取下/sys/kernel/debug/gpio的值,得到每个GPIO芯片的序号范围,如GPIO芯片0就为0~31。

2、根据GPIO硬件编号计算出系统内使用的GPIO序号

    根据GPIO的编号,比如说GPIO3_B0,前面GPIO3代表看GPIO3的信息就行了,它的范围是96-127。然后A0为0,开始直接累加,每逢8就进1,比如说A7的下一个就是B0。这样就得出了GPIO3_B0转为序号就是104。既从GPIO3的第一位(96)然后数8位(B0-A0=8),96+8=104。

3、创建操作GPIO的文件节点

    前面得出了序号,那么要使用的话,就需要在/sys/class/gpio/export写入该序号。比如说要操作104,就可以用命令“echo 103 > /sys/class/gpio/export”,这样/sys/class/gpio/下就会被创建出一个名为gpio104的文件。通过这个文件就可以操作GPIO3_B0(gpio104)这个GPIO脚了。

4、设置GPIO为输出还是输入

    使用命令“echo out > /sys/class/gpio/gpio104/direction”可以把这个GPIO设置为输出模式。使用命令“echo in > /sys/class/gpio/gpio104/direction”可以把这个GPIO设置为输入模式。

5、设置GPIO输出的电平

    如果该GPIO脚为输出模式,那么可以使用命令“echo 1 > /sys/class/gpio/gpio104/value”输出高电平,使用命令“echo 0 > /sys/class/gpio/gpio104/value”输出低电平。

6、读取GPIO输入电平

    如果该GPIO脚为输入模式,那么可以使用命令“cat /sys/class/gpio/gpio104/value”读取输入的电平。如果为0则说明输入了低电平,如果为1则说明输入了高电平。

如果不想使用echo和cat命令的话,也可以直接用代码(如open或者fopen)打开文件,然后进行读写就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值