RK(瑞芯微)系列主板GPIO计算方式
记录一下rk系列gpio num计算方式,测试芯片,3288,3399,3308均正确
查看GOPI 引脚
例如想要用到GPIO1_A0,那么这个引脚对应系统中的gpio num便是32,GPIO1_A5对应num是37,GPIO1_B5
对应的是45。
这里拿GPIO1_A0和GPIO1_B5举例:
GPIO1_A0 num = 1×32 + 0× 8 + 0 = 32
GPIO1_B5 num = 1×32 + 1×8 + 5 = 45
实际是这样计算的
GPIO1 那就对应 1 × 32 ,GPIO2对应2 × 32
A0或者B5,英文字母和阿拉伯数字拆开来看,A代表0,B代表1,C代表2(其他文章这部分讲的不是很清楚), 那就对应了 0 × 8,1 × 8,2 × 8
阿拉伯数字就代表最后加的数字
int main(){
//引脚转数字
char arr[10]={0};
scanf("%s",arr);
int res=0;
res=(arr[4]-'0')*32+(arr[6]-'A')*8+(arr[7]-'0');
printf("%d \n",res);
//数字转引脚
int one = res/32;
int two = res%32/8;
int three = res%32%8;
printf("GPIO%d_%c%d",one,two+'A',three);
return 0;
}