改变TB-RK3399pro(Fedora28)引脚电平

TB-RK3399pro开发板上引出了通用IO口,位于40pin针脚中间,如图所示:

 用表笔测量GPIO0_A5、GPIO0_A6上面的电压,均为低电平,现将GPIO0_A6设置为高电平输出。

查询参考寄存器手册Address Maping部分:

  • GPIO0基地址为0xFF720000
  • DDR(方向寄存器)偏移地址0x0004, 所以寄存器地址为0xFF720004
  • DR(设置高低电平)偏移地址为0x0000, 所以寄存器地址为0xFF720000

从而得到我们需要的GPIO0_A的相关寄存器地址:

  • 控制方向的寄存器DDR地址为0xFF720004
  • 控制电平的寄存器DR地址为0xFF720000

若为GPIO0_B时,DR为0xFF720001;GPIO0_C时,DR为0xFF720002,均以此类推。

DR地址0xFF720000,下面的八个位的前七位对应着GPIO0_A[6:0],没有GPIO0_A7,参考手册都有这些说明。

命令行下输入以下命令查看开发板上此地址的值:

[root@localhost ]# io -4 -l 4 0xff720000

得到:ff720000:  00001d93 ,即GPIO0_A对应的DR值为0x93,二进制表示为:1001 0011

从右往左数,5、6位均为0,即表示低电平,这与我们的电表测量一致。

cd命令到/sys/class/gpio目录下,再进入gpio6,可以通过查看value和direction得到此io口的电平与方向信息。

[root@localhost ]# echo 1 > value 

将value原本的值改为1,即可将电平置高。

在上层目录的gpio55之类的对应的具体IO名字为,GPIO (55/32) _ (55%32/8)(55%32%8 ),即GPIO1_C7

反过来,GPIO4_C5,为gpio(4*32+2*8+5),gpio149

 

官方资料下载:官方资料下载地址

参考:adb 命令查看/控制 rk3399 GPIO 输入/输出状态RK3399用户空间IO控制RK3326 RK3399 GPIO寄存器操作指南

linux设备驱动程序--gpio控制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值