点击上方“大鱼机器人”,选择“置顶/星标公众号”
福利干货,第一时间送达!
阅读文本大概需要 2 分钟。
0
前言昨天写过一篇关于全局变量的处理方法:我是这样用extern的
今天还想给大家分享一点关于单片机编程的小技巧:
如何统一管理单片机的所有中断?
1
一般如何处理中断优先级众所周知,在使用定时器、外部中断以及串口,我们都需要对一些寄存器进行配置,例如对STM32的外部中断5进行配置时:
同样,如果需要使用定时器中断,我们在配置完定时器寄存器之后,还需要配置NVIC中断。
试想,如果在整个程序中,我们需要使用2个定时器中断,3个串口中断。
需要5个初始化函数来配置。在配置的函数中,需要反复修改的地方也只有NVIC这部分。
因为我们在程序的调试中,可能需要修改中断优先级也就是谁先进行中断处理,谁后中断处理。
试想!
如果同时需要修改这5个初始化函数中的NVIC配置,是不是需要打开这些函数!
而且这些初始化函数不一定在一个文件中,是在多个文件,这得多麻烦!
那么如何解决呢?
2
我们可以换一种方式最简单的处理方式:
把NVIC中断管理这部分的代码都放在一个文件中,统一修改,统一配置
这样我们就能一次性管理所有的中断~
3
以STM32为例一 、我们可以把需要使用的中断管理都放在一个函数,看图
(图一)
二 、我们可以把需要使用的中断全部都配置好放在这个函数中,不需要使用的中断可以直接注释掉。需要的中断删掉注释即可。
(图二)
个人觉得,这样管理起来特别方便且美观。
注:上述示例代码是我自己写的一款平衡小车的代码,公众号后台回复[大车]即可获取
3
最后若觉得文章对你有帮助,随手点“在看”、转发分享,也是我继续更新的动力。
长按识别图中二维码关注
推荐阅读:
PCB工程师的7个好习惯
哇,电路中居然放了0欧的电阻!!!
//end
这么“好”的文章, 转发+收藏~