msp430f5529按键问题

2019-07-15 15:52发布

while(1)
          {
              if(!(P1IN&0x02)){//判断P1.1是否按下
                  Delay10ms(1);//消除抖动
                  if(!(P1IN&0x02)){//再次检测按键是否按下
                         if(i<9){
                         P1OUT^=BIT0;
                         i++;
                        }
              }
              }

按键按下放开一次 i 值应该加1,但是却加的不是1,而是大于1的随机数,请各位大神解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
章鱼小姐
2019-07-15 22:33
人中狼 发表于 2017-5-13 12:42
没有做按键释放判断

while(1)
          {
              if(!(P1IN&0x02)){//判断P1.1是否按下
                  Delay10ms(1);//消除抖动
                  if(!(P1IN&0x02)){//再次检测按键是否按下
                         if(i<9){
                         P1OUT^=BIT0;
                         i++;
                        }
                         int j=0;
                         while(j<50&&P1IN&0x02){
                             Delay10ms(1);
                             j++;
                         }
              }
              }
加了之后问题依然一样

一周热门 更多>