玖玖 发表于 2022-12-23 10:05:34

外部中断的双边沿触发是不是都只能进同一个中断函数啊

如题,看了下gpio唤醒的外部中断实例,发现如果是双边沿触发的话,在中断函数中无法判断是上升沿还是下降沿,是确实无法判断还是我没找到对应的判断语句啊

顾博文 发表于 2022-12-30 18:36:23

这时只能再去判断IO口的高低电平,来确认,到底是上升沿还是下降沿。

玖玖 发表于 2023-4-7 09:34:21

        FL_GPIO_SetExtiLine14(GPIO,FL_GPIO_EXTI_LINE_14_PD9);
        extiInitStruct.input       = FL_GPIO_EXTI_INPUT_GROUP3;         
        extiInitStruct.filter      = FL_ENABLE;                     
        extiInitStruct.triggerEdge = FL_GPIO_EXTI_TRIGGER_EDGE_BOTH;
        FL_EXTI_Init(FL_GPIO_EXTI_LINE_14,&extiInitStruct);   
对于上述初始化,第一句的中断线选择引脚会触发一次中断,如果放到后面会导致初始化后无条件中断置位一次

顾博文 发表于 2023-4-11 08:31:38

玖玖 发表于 2023-4-7 09:34
FL_GPIO_SetExtiLine14(GPIO,FL_GPIO_EXTI_LINE_14_PD9);
        extiInitStruct.input       = FL_GPIO_EXTI_IN ...

是的,因为引脚初始化很可能带来,内部电平的不确定性。
步骤 大概是 先初始化引脚,再开引脚中断,然后清一下中断标志,最后开NVIC使中断生效。
页: [1]
查看完整版本: 外部中断的双边沿触发是不是都只能进同一个中断函数啊