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口。
下面是程序代码: