这两天学习了arm的一些硬件相关一些知识,这里我们讨论GPIO的知识,这里需要个单片机做一些类比,我们常见的单片机的I/O口是部分复用的,而在ARM中,I/O口复用是一个非常普遍的现象,通常的I/O都有两种的复用,一些I/O甚至有3种功能的复用,同时,我们需要知道上拉电阻和下拉电阻,这个概念是在单片机设计非常普通的概念,但单片机中,同时由于I/O的带负载的能力有限,通常需要加入上拉电阻来提高带载能力,而在arm中,也可以这么认为,但如果理解为上拉电阻,通常让自己联想到是负载、电阻之类的东西,反而不太方便,可以忽略关于上拉电阻、下拉电阻的电路细节,直接把这个东西认为是I/O使能,只要是用于I/O输入输出就需要使能,而对于I/O用于中断服务的情况,就不需要使能了{其实是不需要上拉电阻}。
好了,既然I/O有复用情况,而且需要设置上拉电阻,以及数据的传输,这里会设计到3个寄存器来操作:
GPXCON GPXUP GPXDAT,分别用于I/O端口功能的设置、上拉电阻设置、数据寄存器。在ARM中使用2位来选择I/O的功能。
下边是一些联系,主要是关于GPIO的操作。我们以键盘扫描为例,当然实际当中,通常使用7279、CH1452之类的芯片来完成,这里只用于学习。
下边是一张4x4键盘电路:
阅读(3127) | 评论(0) | 转发(0) |