这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » GD32 » 【GD32F470ZGT6】外部中断使用

共1条 1/1 1 跳转至

【GD32F470ZGT6】外部中断使用

助工
2025-01-19 22:39:07     打赏

1、在用户手册查找外部中断触发源,表格同时包含与中断触发源对应的中断线编号

 image.png

在以上选择PA3引脚作为触发源

在gd32f4xx.h找到关于IRQn的枚举类型

 

image.png

中断IRQn标志在初始化需要用到

中断线编号,这里注意的是可能存在有多个中断使用同一中断线编号的情况

 

image.png

在gd32启动文件找到中断回调函数名称,系统对每个中断都弱定义了相应的中断回调名称,我们在gd32启动文件可以找到

 image.png

2、触发方式选择

选外部中断触发方式为下降沿中断

中断初始化函数

void GPIO_EXIT_Init(){
rcu_periph_clock_enable(RCU_GPIOA);
gpio_mode_set(GPIOA,
GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_3);
exti_init(EXTI_3,
EXTI_INTERRUPT, EXTI_TRIG_RISING);
nvic_irq_enable(EXTI3_IRQn,1,2);
exti_interrupt_enable(EXTI_3);
}

中断回调函数编写

void EXTI3_IRQHandler(void){
	if (exti_interrupt_flag_get(EXTI_3) == SET)
    {
			exti_interrupt_flag_clear(EXTI_3);  
			printf("exti 3.\n");

    }
}

完整代码

四、实验结果

 image.png

将PA3引脚间歇接入GND,成功触发外部下降沿中断





关键词: GD32F470 外部中断    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]