2012年(67)
分类: LINUX
2012-04-26 13:57:37
ARM学习之S3C2440_GPIO编程
作者:kangear
Email:
Blog:kangear.blog.chinaunix.net
GPIO输入输出端口,有GPBCON,GPBDAT,GPBUP常用寄存器。GPBCON是配置寄存器,GPBDAT是数据寄存器,GPBUP是上拉电阻使能寄存器。通过下面一个函数体现这三个寄存器配置。
寄存器 功能描述
GPBCON 配置管脚(输入or输出)
GPBDAT 数据寄存器(如:LED亮or灭)
GPBUP 上拉电阻使能寄存器(是否使用上拉电阻)
寄存器地址不用考虑,因为S3C2440.h中已经配置好,直接可以用。
程序:
#include
void delay(int times)
{
int i;
for(;times>0;times--)
for(i=0;i<400;i++);
}
int main(void)
{
int i;
GPBCON =10000000000; /*配置GPB5为输出 (参考图1)*/
GPBUP =~100000; /*配置GPB5上拉电阻使能(参考图2)*/
for(i=0;i<10000;i++)
{
/* LED1亮 */
GPBDAT = ~100000; /*GPB5低电平*/
delay(1000);
/* LED1灭 */
GPBDAT = 100000; /*GPB5高电平*/
delay(1000);
}
}
Tu1:
Tu2:
Tu3:
运行结果:
当然这个程序有很多漏洞,只考虑了自己把人家都强行置1或置0 。这个只是初步学习用,以后真正编程要考虑的要多的多了。