如下图,定时器中断代码如下,定时器中断时间0.5S,独立看门狗重装载值0x90,看门狗的倒数时间大于0.5S,为什么我在定时器中断中喂狗,明明喂狗时时间 500ms 小于 看门狗复位时间(4*64*144/40=921.6ms),程序却一直复位?led0闪烁?谢谢!
你在程序开始运行的地方打一个断点,然后查看一下RCC->CSR的值,确定一下这个复位是否由看门狗引起的
另外,这个看门狗定时的时间好像有问题
你怎么知道是一直在复位呢?
闪烁很正常,进timer中断,喂了狗就反转led,当然要闪烁。
没觉得哪里有问题呀
按照楼主的程序意图,程序启动后LED0点亮,在定时器中断中翻转LED1以及喂狗,但实际上出来的效果是LED0闪烁,从程序的流程来看,如果发生复位,LED0应该会一直亮着(因为复位后系统重启动,又把LED0点亮,中间灭的时间人眼是反应不过来的)。
我建议检查下LED1这个宏定义是否映射到了LED0的引脚上了。