ARM7学习---按键测试程序(LPC2103 IO0PIN)
时间:11-18
来源:互联网
点击:
今天一直在学习按键测试程序,看上去很简单,按键嘛谁都会用,很多种单片机里都是用过了,但是今天还是遇到了一个问题,而且花了我半天的时间调试和找问题。刚开始我不会用LPC2103的GPIO,后来查了数据手册,知道了读取IO口的方法是读取IOPIN寄存器,LPC2103使用的是IO0PIN。我程序写好,把按键通过串口反馈信息。但是我一直测试没按键的时候输入按键口状态不稳定,有按键的时候还是很稳定的。我以为程序出错了,一直在修改程序,但是还是一样的情况。后来静下心来想了下,是否IO配置错了?但是检查了好多遍,IO是配置为输入,没什么问题的。后来终于想起来了,我没在按键的IO口加上拉电阻,以前我在51 STC AVR单片机的按键口都不加上拉电阻的,因为IO内部有上拉可以配置的,结果我看了下LPC2103,没找到。所以我外部加了个10K的上拉电阻,这回再测试,OK了,哈哈!真高兴!一下是示例程序:我从我整个程序了挑出了按键部分程序,串口通信程序没添加上去。
//#include
//#include
#define K1 (1<19) //定义按键1的引脚
void keytest(void);
void keytest(void) //按键测试程序
{
if((IO0PIN&K1)==0x00) //判断是否有按键按下
{
//按键去抖
while((IO0PIN&K1)==0x00) //判断是否有按键放开
{
delayms(100);
}
UART0_SendStr("K1");
}
else
{;}
}
////////////主程序///////////////
int mian()
{
PINSEL0 |= 0x00000005; //设置I/O连接到UART0,其他为普通GPIO口
PINSEL1 |= 0x00000000;
UART0_INT(); //串口初始化
while(1)
{keytest();}//按键测试程序
}
ARM7按键测试LPC2103IO0PI 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)