gpt4 book ai didi

arm - HAL_GPIO_EXTI_Callback() 中的上升沿和下降沿触发

转载 作者:行者123 更新时间:2023-12-04 16:46:35 28 4
gpt4 key购买 nike

我有一个数字输入 GPIO 线,只要它的输入发生变化,我就需要一个中断。在 STM32CubeMX 中,我将此引脚设置为 EXTI 线,并将中断设置为在上升沿和下降沿触发。

当调用函数 HAL_GPIO_EXTI_Callback() 以响应上升沿或下降沿时,有没有办法知道是上升沿还是下降沿触发了中断?或者是否需要调用 HAL_GPIO_ReadPin() 来推断这一点?

回调的原型(prototype)是:

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

最佳答案

您必须调用 HAL_GPIO_ReadPin() .

当您在上升沿和下降沿都选择中断时,STM32CubeMX 实际上会设置 Rising trigger selection register (EXTI_RTSRx) 中的相应位。在Falling trigger selection register (EXTI_FTSRx) .

当中断发生时,Pending register (EXTI_PRx) 中只设置一位对于该中断线,因此您不知道它是上升沿还是下降沿。

关于arm - HAL_GPIO_EXTI_Callback() 中的上升沿和下降沿触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48707854/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com