MSP432 无法设置GPIO下降沿触发

参考了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);
    }

}


4 个回复