当前位置: 首页> 文旅> 文化 > GD - EmbeddedBuilder - 在EXTI中断回调中,可以知道中断触发类型

GD - EmbeddedBuilder - 在EXTI中断回调中,可以知道中断触发类型

时间:2025/7/10 8:01:07来源:https://blog.csdn.net/LostSpeed/article/details/141867442 浏览次数:0次

文章目录

    • GD - EmbeddedBuilder - 在EXTI中断回调中,可以知道中断触发类型
    • 概述
    • 笔记
    • END

GD - EmbeddedBuilder - 在EXTI中断回调中,可以知道中断触发类型

概述

看了EmbeddedBuilder_v1.4.1.23782自带的官方demo工程,里面关于外中断的demo工程很简单。
进了外中断回调就干活。
但是这个中断触发类型(上升沿,下降沿)不清楚。
在做实验时发现,从回调单步出去,就能看到中断触发类型。
触发类型就2种(上升沿,下降沿),如果用图形化回调设置的外中断为上升沿 + 下降沿,那么中断就会进来2次,一次是上升沿的外中断,一次是下降沿的外中断。

笔记

初始化部分,EmbeddedBuilder已经生成好了。
看了一下,几乎每个pin都可以服用为外中断,挺灵活的。
在这里插入图片描述
在这里插入图片描述

void EXTI0_1_IRQHandler(void)
{/* user code [EXTI0_1_IRQn local 0] begin *//* user code [EXTI0_1_IRQn local 0] end */hal_exti_gpio_irq(EXTI_0_1_IRQHandler_USED); // 向导生成的,这个中断请求是一个范围值的枚举类型/* user code [EXTI0_1_IRQn local 1] begin *//* user code [EXTI0_1_IRQn local 1] end */
}
void s_gpio_irq_handle(uint32_t id, uint32_t event)
{// PB1 exti_1// #define  KEY_PIN_IN_PIN    GPIO_PIN_1if(EXTI_PIN_1 == id){ // 可以知道是外中断几// gd_eval_led_toggle(LED2);// 根据event,可以知道外中断触发类型if (EXTI_IRQ_EVENT_RISING == event){hal_gpio_bit_reset(LED_PIN_GPIO_PORT, LED_PIN_PIN);} else if (EXTI_IRQ_EVENT_FALLING == event) {hal_gpio_bit_reset(LED_PIN_GPIO_PORT, LED_PIN_PIN);}}
}
/* user code [global 0] end *//*!\brief      main function\param[in]  none\param[out] none\retval     none
*/
int main(void)
{/* user code [local 0] begin *//* user code [local 0] end */msd_system_init();msd_clock_init();/* user code [local 1] begin *//* user code [local 1] end */msd_gpio_init();/* user code [local 2] begin */hal_exti_gpio_irq_handle_set(s_gpio_irq_handle); // 外中断注册回调/* user code [local 2] end */while(1){/* user code [local 3] begin */// 轮询处理/* user code [local 3] end */}
}

END

关键字:GD - EmbeddedBuilder - 在EXTI中断回调中,可以知道中断触发类型

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: