二、GPIO
GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。
用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。GPIO口的使用非常广泛。
1. GPIO的优点低功耗:GPIO具有更低的功率损耗(大约1?A,?C的工作电流则为100?A)。集成I?C从机接口:GPIO内置I?C从机接口,即使在待机模式下也能够全速工作。小封装:GPIO器件提供最小的封装尺寸—3mm x 3mm QFN!低成本:您不用为没有使用的功能买单!快速上市:不需要编写额外的代码、文档,不需要任何维护工作!灵活的灯光控制:内置多路高分辨率的PWM输出。可预先确定响应时间:缩短或确定外部事件与中断之间的响应时间。更好的灯光效果:匹配的电流输出确保均匀的显示亮度。布线简单:仅需使用2条I?C总线或3条SPI总线。2. exynos4412 GPIO特性172 个外部中断32个外部可唤醒中断252个多功能 input/output ports在休眠模式下也可以控制GPIO引脚,但不包括 GPX0, GPX1, GPX2, and GPX33. 6 General Purpose Input/Output (GPIO) Control
Exynos 4412 SCP 包括304个多功能 input/output端口引脚和164 存储端口引脚. 总共 37个端口分组和两个存储端口分组.。
下图为GPIO模块图:
GPIO Block Diagram
三、如何操作GPIO?
主要通过寄存器来操作GPIO引脚。
GPxCON用于选择引脚功能,GPxDAT用于读/写引脚数据;另外,GPxUP用于确定是否使用内部上拉电阻。其中x为A、B…..H、J等。
1. GPxCON寄存器
从寄存器的名字可以看出,它用于配置(Configure)-选择引脚功能。
LED3是连接到GPX1_0,该引脚说明如下:
GPX1CON
由上图所示,
GPX1CON地址为0x1100C20;LED3是输出设备,所以需要将GPX1CON[3:0]设置为0x1,但是能修改其他的bite。2. GPxDAT寄存器
GPxDAT用于读/写引脚;当引脚被设为输入时,读此寄存器可知相应引脚的电平状态是高还是低;当引脚被设为输出时,写此寄存器相应位可以令此引脚输出高电平或是低电平。
GPX1DATGPX1DAT的地址是0x1100C24LED3对应的输出引脚是GPX1DAT[0],点灯只需要将该引脚设置为1即可,灭灯将bite0置0。3. GPxUP寄存器
GPxUP:某位为1时,相应引脚无内部上拉电阻;为0时,相应引脚使用内部上拉电阻。
上拉电阻的作用在于:当GPIO引脚处于第三态(即不是输出高电平,也不是输出低电平,而是呈高阻态,即相当于没接芯片)时,它的电平状态由上拉电阻、下拉电阻确定。
本例不用设置。