STMCU小助手
发布时间:2022-4-7 11:04
|
在使用中断函数的时候,我们往往忘记在中断服务函数内清除中断标志位而导致一些未知错误。/ z! f; s4 ^( g, C- T4 X 以下我总结了几个外设关于中断标志位的清除问题。 定时器: 1、在程序有使用到中断的情况下,定时器在使能之前需要先清除更新中断标志位,否则会出现定时器一使能就进入中断的现象。. q$ T; p8 O1 I4 M4 X% G& O 2、常规情况下,在进入中断服务函数以后,需要软件清除标志位。9 Z( p2 Q7 c$ }+ h 3、如果使用HAL库的话,并且有使用到回调函数的话,不需要用户自己清除中断标志位,因为中断服务函数调用的HAL_TIM_IRQHandler这个函数里面已经包含了清除中断标志位,以及回调函数。 调用过程:ADVANCE_TIM_IRQHandler ()—>HAL_TIM_IRQHandler()9 E% Y, J8 w) a5 N( t% D" V. l —>void HAL_TIM_PeriodElapsedCallback() " M v$ ~$ F S; H7 R" Z2 ? 串口: 1、串口中断标志位,既可以通过软件清除标志位,也可以通过读写DR寄存器硬件清除寄存器。9 s0 m; c5 p$ U( Y * c" ]# j: S$ E, U( o - Y- F$ s6 Q0 m- }) c u |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版