stm32中断服务函数注意事项

本文分享了在学习过程中关于中断服务函数的技巧,包括使用固定函数名、判断中断类型、及时清除中断标志、保持函数简洁以及理解中断服务函数的工作原理,以避免重复中断问题。
摘要由CSDN通过智能技术生成

学习过程中踩的一些坑,记下来权当学习笔记。

中断服务函数名是固定的,在启动代码里面已经定下来了,在start文件里找。

书写中断服务函数的时候注意的问题:

1. 中断服务函数名尽量用复制,不要自己写,因为只要你写错一个字母,这个函数就变成普通函数了。

2. (如果中断服务函数是公共入口)进入到中断服务函数后先要查询是哪种中断

3. 先清中断标志,然后再做中断处理,不要把清中断标志放在函数的最后。(如果把清除中断标志放在中断服务函数的最后,会出现当发出清中断标志指令后,硬件还没有把相关标志清除掉,程序就已经跳出了中断服务函数,这个时候NVIC又会识别到标志是1,出现重复中断)。---可以清除中断标志命令发出后,等待清除成功再往下执行。

4. 中断服务函数应该尽量简短,一般是做一些标识,不要在中断中做延时之类的、占用CPU很长时间的工作。----快进快出

5. 中断服务函数不会被任何一个函数调用,当中断条件满足后,NVIC控制把CPU拉到中断服务函数中执行。

第5点是此次学习过程中最困惑的一点,经过百度明白了其工作原理。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值