瑞芯微Rockchip开发者社区
直播中

贾永世

7年用户 1763经验值
私信 关注
[问答]

请问一下TB-RK3399pro开发板上的IO口有哪些呢

请问一下TB-RK3399pro开发板上的IO口有哪些呢?

回帖(1)

赵文娜

2022-3-7 17:05:40
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。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分