ARM9的裸奔(一)——GPIO的输入与输出

本文介绍了S3C2440A处理器的GPIO口特性,包括9组共130个IO口,其中A组仅支持输出。关键操作涉及GPXCON、GPXUP和GPXDAT三个寄存器,分别用于配置、上拉使能和数据控制。通过00、01、10和11设置GPIO输入、输出和第三功能。文中还分享了一个实践案例,演示了按键控制LED灯亮灭的程序,期间遇到并解决了误读GPIO口的问题。
摘要由CSDN通过智能技术生成

S3C2440A有九组IO口,共130个。每组IO口数目不同,其中A组口只有输出功能。截图如下:


关于对IO口的操作,就主要设计到3个寄存器。GPXCON(配置),GPXUP(上拉使能),GPXDAT(数据)。其中GPXCON配置IO寄存器中每两位控制1个IO口。00表示输入,01表示输出,10表示第三功能,11保留。

对数据寄存器GPXDAT的操作则是相应位写1高电平,写0低电平。上拉是能寄存器GPXUP则是相应位为1时禁止相应端口的上拉电阻,为0使能。


下面的代码实现了实现按下某个按键时,相应LED亮,松开按键时LED灭。练习了IO口德输入与输出。


下面是我的原理图跟LED控制和按键控制相关的IO口。


写程序期间有个小插曲。错把GPF6看成GPG6,直接让我郁闷了会儿,又是想当然做的怪。看看其它5个口都是G口。

下面是程序代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值