参考了CCS提供的gpio_input_interrupt例程,测试发现应该是上升沿和下降沿都可以触发。
想改成下降沿触发,初始化增加了
MAP_GPIO_interruptEdgeSelect(GPIO_PORT_P1
,GPIO_PIN1,GPIO_HIGH_TO_LOW_TRANSITION);
但是发现不起作用,请帮忙解答一下这么使用是否正确?
void ExitInterruptInit(){
/* Configuring P1.1 as an input and enabling interrupts */
MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN1);
MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, GPIO_PIN1);
MAP_GPIO_enableInterrupt(GPIO_PORT_P1, GPIO_PIN1);
MAP_Interrupt_enableInterrupt(INT_PORT1);
/* Enabling SRAM Bank Retention */
MAP_SysCtl_enableSRAMBankRetention(SYSCTL_SRAM_BANK1);
/* Enabling MASTER interrupts */
MAP_Interrupt_enableMaster();
MAP_GPIO_interruptEdgeSelect(GPIO_PORT_P1
,GPIO_PIN1,GPIO_HIGH_TO_LOW_TRANSITION);
}
/* GPIO ISR */
void PORT1_IRQHandler(void)
{
uint32_t status;
status = MAP_GPIO_getEnabledInterruptStatus(GPIO_PORT_P1);
MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, status);
/* Toggling the output on the LED */
if(status & GPIO_PIN1)
{
MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
}
}

