按键处理达不到要求

2019-07-18 14:17发布

#include<msp430x14x.h>
#define uint unsigned int
//#define KEY_Pressed  (P3IN&0xF3)
#define uchar unsigned char
void main(void)
{
        uint i;
        WDTCTL = WDTPW + WDTHOLD;              // stop WDT
        P2DIR = 0xff;                           // P2口输出
        P3DIR &=~BIT2;                          //P3口输入
      
        P2OUT = 0x00;
        __delay_cycles(100000);
        P2OUT = 0xFF;
        while(1)
        {
        if(!(P3IN&BIT2))                //检测按键状态,如果有键被按下
                {
                for(i=0;i<4000;i++);              //延时消抖
                if (!(P3IN&BIT2))          //再次检验按键状态                    
                 for(i=0;i<4000;i++);   
                P2OUT |=0X00;  //P2是输出LED
                while(!(P3IN&BIT2)) ;   //等待按键放开
                }
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
zhaoxqi
1楼-- · 2019-07-18 19:48

程序有错误码?
shimx
2楼-- · 2019-07-19 00:19
你的要求是什么
zhaoxqi
3楼-- · 2019-07-19 04:08
 精彩回答 2  元偷偷看……
wyjie
4楼-- · 2019-07-19 06:37
我想设置一个按键按下去,然后LED就亮,表达了我这个按键有反应,按键借P3.2口的,led显示P2全亮,但是还是不懂哪里问题,按键按下去LED都没有亮的啊~
dengdc
5楼-- · 2019-07-19 08:38
P2OUT |=0X00;

这句什么意思???????如果原来是1,这句有意义吗?
huangchui
6楼-- · 2019-07-19 10:04
看来应该是
P2OUT &= 0X00;

一周热门 更多>