技术文章:基于Cortex-A9 LED汇编、C语言驱动编写

一口Linux
关注

二、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引脚处于第三态(即不是输出高电平,也不是输出低电平,而是呈高阻态,即相当于没接芯片)时,它的电平状态由上拉电阻、下拉电阻确定。

本例不用设置。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存