你可以参考一下以下的代码,下降沿触发中断,消抖可以在中断里面消抖。
#pragma vector = PORT1_VECTOR;
__interrupt void PORT1_ISR(void)
{
unsigned int key = 0;
key = GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN1);
if (key == 0)
{
__delay_cycles(10000);
if (key == 0)
{
GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0);
}
}
GPIO_clearInterrupt(GPIO_PORT_P1,GPIO_PIN1);
|