15中GPIO 驱动电流问题
时间:10-02
整理:3721RD
点击:
有哪位大虾知道 规格书中 GPIO DRIVING step 中0,1,2,3代表什么意思? reset状态寄存器值为1001,表示驱动电流是多大?
先上一张图,不然可能说不清楚
这个最后面一个寄存器就是指驱动能力的。
先看第一行,GPIO0对应这个寄存器的0~3位,而GPIO1(他写的是GPIO10应当是写错了)对应的是此寄存器的4~7位。
为什么这么写,因为这个ARM的一次性的处理数据就是32位。而不像51的单片机,他可以一BIT一BIT的处理。
但是他为了不浪费(芯片里最贵的东西就是寄存器),这样就一个寄存器来管理几个GPIO的驱动能力。
对这种寄存器的操作一定要按“读--》修改--》写”的顺序。
reset状态寄存器值为1001,表示驱动电流是多大?
这个问题,你就要对DATASHEET的前面部分,他有写对应的是2MA,4MA,6MA.。
还有一个需要说明,不同的GPIO他的驱动能力是不同的,你注意看一下T卡的GPIO,最大的驱动能力是52MA.
所以到底是多大,需要自己查看DATASHEET.
感谢蒋总,譬如GPIO12 的驱动电流有4,8,12,16mA,那么0是否对应的是4mA?3是否对应的是16mA?
如果是这样reset状态的1001,又指的是多大?
你现在说的这个reset是1001是二进制?
另有一个就是你指的这个对应哪一个寄存器的?
C0001818 这个寄存器0-3位,复位状态是1001,十六进制是9.
你这个1001是读出来的吗?
你可以试一下,将他写成0001,看他读出来是不是0001.还是1001.
我看他最高位好像从来没用过。
呵呵,这个是规格书上的,C0001818这个寄存器复位值是99999999
你实际读一下,规格书也可能写错的。哈哈
MTK的规格书经常写错的。