MSP430G2553 通过查询方式实现按键消抖,长按,短按
#include <msp430g2553.h>
volatile unsigned int flag=0 ;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR = BIT0 + BIT6;
P1OUT = BIT3;
P1REN |= BIT3;
while (1)
{
if (!(P1IN & BIT3))
{
flag++;
}
if (flag > 9000 && (P1IN & BIT3))
{
P1OUT ^= BIT6;
flag = 0;
}
else if (flag <= 9000 && flag >=2000 && (P1IN & BIT3))
{
P1OUT ^= BIT0;
flag = 0;
}
}
}