你可以参考一下以下的代码,下降沿触发中断,消抖可以在中断里面消抖。
- #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);
|