GPIO篇
从电路角度来看,S3C2440也只不过是一个集成电路芯片而已,无论它内部原理多么复杂,它与硬件打交道的也就只有那些管脚而已。我们都知道,用单片机操纵硬件完成一个动作,无论它动作有多么复杂,对单片机而言最终都转化为引脚按一定时序输入输出高低电平。因此我们学习处理器的终极目标是要控制处理器按我们的想法输入输出高低电平,无论哪种处理器,对它的控制,都是通过读写寄存器来完成的。对于初学者,我们暂先不需要理解2440复杂的内部结构。我们可以以它的GPIO为切入点,一步步深入学习。认识2440有多少引脚、怎样分类、每个引脚的功能是什么、怎样控制一个引脚输入输出高低电平,怎么样把引脚设置为其他功能和做其他事情。
一、初步认识S3C2440A
下面,我们先来认识S3C2440A这款处理器。
【S3C2440A简介】
S3C2440A是三星公司推出的基于ARM920t内核的32/16位RISC微处理器。主要用于手持设备和中高端电子产品中。它内部集成16k数据cashe、16k指令cashe,内存管理单元MMU,4KBSRAM(片内内存), nandflash控制器,LCD控制器,USB控制器,中断控制器,支持60个中断源,4通道PWM定时器,1个看门狗定时器。24个外部中断源,两通道SPI。具有PLL片上时钟发生器。片内集成RTC实时时钟芯片。8通道10位的A/D转换器,4通道DMA、系统主频400MHZ,最高533MHZ,通过软件设置。130个多用输入输出口。3通道UART。
二、2440的GPIO口及其控制方法
2440有130个通用输入输出口(GPIO口),分为GPA、GPB、GPC、GPD、GPE、GPF、GPG、GPH、GPI、GPJ共9组,每个端口有三组寄存器来控制,分别是GPxCON(GPx设置寄存器,用于设置引脚是输入、输出、还是其他功能)、GPxDAT (GPx数据寄存器,用于读写引脚的电平值)、GPxUP(GPx上拉电阻寄存器,用于确定引是否使用上拉电阻)
[GPxCON寄存器的功能]:GPx配置寄存器用于确定x端口