Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1644980
  • 博文数量: 245
  • 博客积分: 10378
  • 博客等级: 上将
  • 技术积分: 2571
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 08:19
文章分类

全部博文(245)

文章存档

2013年(4)

2012年(8)

2011年(13)

2010年(68)

2009年(152)

分类:

2009-05-26 10:02:23

  这两天学习了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) |
给主人留下些什么吧!~~