你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
xmshao 发表于 2016-3-9 11:33 如果你定时时间长于WWDG的窗口时间,那定时器永远等不到溢出就被复位了。 你说 “不用中断,在while中延迟 ...
潇潇雨歇pku 发表于 2016-3-9 14:12 感觉好像是stm32的问题,开启定时器会先进入一次中断,然后导致提前喂狗
安 发表于 2016-3-9 15:19 建议不要在中断中喂狗,这样别的程序死掉的时候,喂狗还是会继续,导致程序不能复位。 ...
xmshao 发表于 2016-3-9 15:22 你提到的定时器开启就进入中断跟配置有点关系,有些情况下有这个问题。 多数时候可能对应用没啥影响可能 ...
如果你定时时间长于WWDG的窗口时间,那定时器永远等不到溢出就被复位了。
你说 “不用中断,在while中延迟相等时间,喂狗成功” 确信不是误会?这个相等时间是跟定时器的时间还是看门狗的窗口时间?
喂狗的窗口时间是64.17ms~87.38ms
delay 70ms成功喂狗,定时70失败。关掉狗,发现定时确实是70ms
感觉好像是stm32的问题,开启定时器会先进入一次中断,然后导致提前喂狗
终于找到了。
STM32在开启中断前,TIMx_SR的UIF就置1了,所以一开启中断立即就会先进入一次中断,从而导致了提前喂狗。
解决办法就是在开启中断前先把UIF位置0.
你提到的定时器开启就进入中断跟配置有点关系,有些情况下有这个问题。
多数时候可能对应用没啥影响可能就忽视了。
不过你这个问题,应该说参数配置有待琢磨。
http://mp.weixin.qq.com/s?__biz= ... 78657eeb2d655020#rd
STM32 定时器有时一开启就进中断的话题
直接在中断中喂狗是的。但是我是在中断中设置标志,然后在主函数中判断以后再喂狗,应该没问题吧?
哈哈哈,你也是二姨和这边两边都上啊
嗯,解决了我另外一篇帖子的问题