真的特别着急,快被stm32的定时器的BUG折磨疯了,求大神帮助啊啊啊!!!

2019-07-21 05:16发布

如题,将 stm32f103cbt6 的 TIM4 配置为输入捕获,一打开定时器更新中断标志位和四路捕获标志位就都被置1。在网络上看得到相应的解决办法,即将清中断函数 TIM_ClearITPendingBit() 放在中断开启函数 TIM_ITConfig(TIM4, TIM_IT_CC4, ENABLE) 之前,我尝试过了,观察TIM4窗口的寄存器变化,发现并没有效果,下面附上调试的截图。此前我在调 F427 的时候也曾遇到过这个问题,用上面的方法奏效了,这次却不行。前辈们遇到过相似的问题吗?
1.png 2.png 3.png 4.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
Sun_Fly
1楼-- · 2019-07-21 10:06
是你的bug不是定时器的bug
zzqssq
2楼-- · 2019-07-21 15:30
Sun_Fly 发表于 2019-2-13 09:26
是你的bug不是定时器的bug

求指教
dfbb123
3楼-- · 2019-07-21 20:27
 精彩回答 2  元偷偷看……
Sun_Fly
4楼-- · 2019-07-21 23:16
zzqssq 发表于 2019-2-13 09:37
求指教

清0应该放在启动之后
zzqssq
5楼-- · 2019-07-22 00:38
dfbb123 发表于 2019-2-13 09:41
http://www.openedv.com/thread-97072-1-1.html

谢谢,可依然不起作用。我的程序需要周期性开关定时器,看了链接中的方法,我在开启定时器之前先关闭NVIC配置,然后软件产生中断并清零,再开启NVIC配置,然后开启定时器,结果一开定时器相应的更新和捕获标志位还是立即置1。
zzqssq
6楼-- · 2019-07-22 02:30
Sun_Fly 发表于 2019-2-13 10:40
清0应该放在启动之后

是指放在启动定时器之后还是开启中断之后??如果是指放在启动定时器之后,我之前就试过了,还是不起作用。

一周热门 更多>