解决STM32开启定时器时立即进入一次中断程序问题
2018-03-16 20:37
661 查看
配置STM32定时器时,定时器中断使能、定时器使能、清除更新中断标志位,三者不同顺序程序执行时有不同效果,具体如下:
TIM_ClearITPendingBit(TIM1, TIM_IT_Update); //清除更新中断请求位 TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE); //使能定时器1更新中断TIM_Cmd(TIM1, ENABLE); //启动定时器 (1)。。。。。。不会立即进入更新中断程序。 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位TIM_Cmd(TIM1, ENABLE); TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 (2)。。。。。。不会立即进入更新中断程序。
TIM_Cmd(TIM1, ENABLE); TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位 TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 (3)。。。。。。不会立即进入更新中断程序。
TIM_Cmd(TIM1, ENABLE); TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位 (4)。。。。。。立即进入更新中断程序。
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位TIM_Cmd(TIM1, ENABLE); (5)。。。。。。立即进入更新中断程序。
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 TIM_Cmd(TIM1, ENABLE); TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位 (6)。。。。。。立即进入更新中断程序。
参考:http://www.51hei.com/bbs/dpj-40940-1.html
http://www.openedv.com/posts/list/41019.htm
TIM_ClearITPendingBit(TIM1, TIM_IT_Update); //清除更新中断请求位 TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE); //使能定时器1更新中断TIM_Cmd(TIM1, ENABLE); //启动定时器 (1)。。。。。。不会立即进入更新中断程序。 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位TIM_Cmd(TIM1, ENABLE); TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 (2)。。。。。。不会立即进入更新中断程序。
TIM_Cmd(TIM1, ENABLE); TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位 TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 (3)。。。。。。不会立即进入更新中断程序。
TIM_Cmd(TIM1, ENABLE); TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位 (4)。。。。。。立即进入更新中断程序。
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位TIM_Cmd(TIM1, ENABLE); (5)。。。。。。立即进入更新中断程序。
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断 TIM_Cmd(TIM1, ENABLE); TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位 (6)。。。。。。立即进入更新中断程序。
参考:http://www.51hei.com/bbs/dpj-40940-1.html
http://www.openedv.com/posts/list/41019.htm
相关文章推荐
- STM32 DMA中断只进入一次的解决办法
- STM32F103的普通定时器中断问题,存在开机后初始化,一打开允许中断,定时器立刻进入中断函数一次
- STM32F103的普通定时器中断问题,存在开机后初始化,一打开允许中断,定时器立刻进入中断函数一次
- STM32下一次程序后J-link不能识别问题解决
- STM32 不断进入串口中断问题 解决方法
- stm32单片机进入休眠(STOP)模式后无法下载程序等问题的解决
- <抄>STM32 定时器有时一开启就进中断的问题
- STM32下一次程序后J-link不能识别问题解决
- STM32定时器进入中断后无法退出的解决方法
- 解决iOS程序UI主线程和定时器相互阻塞的问题
- mongodb3.03以上开启认证,解决程序认证连接报错以及第三方客户端无法认证问题
- stm32中程序内存的理解和一些问题的解决
- STM32串口接收中断溢出问题解决
- 一次程序死锁问题的解决
- STM32 定时器有时一开启就进中断
- stm32 不断进入串口中断的bug解决方法
- 使用alt_main()无法进入中断问题的解决(转帖)
- 014:针对mdk中STM32程序无法使用printf,产生停留BEAB BKPT 0xAB处问题的解决(转)
- 记一次STM32中HardFault问题的调试解决(INVPC, LR 0xFFFFFFF5)
- 解决"打包成功后的apk点击程序出现白屏,不能进入界面"的问题