中断函数(学习笔记)
- IRQn_Type
control+F 搜索【IRQn_Type】
Lookin:Current Project
最终在gd32f4xx.h中找到
- 中断函数
中断函数的名字都是固定的,每一个中断通道对应一个中断函数。
在启动文件(xxxx.s)中,以IRQHandler结尾的字符串就是中断函数的名字
- 中断函数无参无返回值
void EXTI10_15_IRQHandler(void){
}
- 中断函数格式
void EXTI10_15_IRQHandler(void){
首先进行中断标志位的判断
if(exti_interrupt_flag_get(EXTI_14)== SET){
中断函数最后一定要调用清除中断标志位的函数!(因为只要中断标志位置1,程序就会跳到中断函数,未清除中断标志位则会一直申请中断。)
exti_interrupt_flag_clear(EXTI_14);
}
}
- exit.h中的后四个函数区分
在主程序中查看标志位 FlagStatus exti_flag_get(exti_line_enum linex);
在主程序中清除标志位 void exti_flag_clear(exti_line_enum linex);
在中断程序中查看标志位 FlagStatus exti_interrupt_flag_get(exti_line_enum linex);
在中断程序中清除标志位 void exti_interrupt_flag_clear(exti_line_enum linex);
- Notes
1.中断函数中最好不要执行耗时过长的代码;
2.最好不要在中断函数和主函数调用相同的函数,或者操作同一硬件。
普通网友: 写的真好!我也写了一篇获取【大厂面试真题解析、核心开发学习笔记、最新全套讲解视频、实战项目源码讲义、学习路线简历模板】的文章
浪子回头070: 我也是,这是什么问题啊!!!
Put the gun down: 我也碰到了,是为啥啊,是gurobi11的问题吗
Chenjato: 请问这是什么原因呢
大熊猫侯佩: c++是我还不能完全征服的语言,感谢博主的这篇精彩文章让我又重拾勇气!