F4例程中,void WWDG_IRQHandler(void) 函数,去掉第三行LED1=!LED1;就一直重启?

2019-07-20 18:20发布

窗口看门狗例程。
库函数版本:
//窗口看门狗中断服务程序 
void WWDG_IRQHandler(void)
{
WWDG_SetCounter(WWDG_CNT); //重设窗口看门狗值
WWDG_ClearFlag();//清除提前唤醒中断标志位
// LED1=!LED1;
}

寄存器版本:
//窗口看门狗中断服务程序 
void WWDG_IRQHandler(void) 
{      
WWDG_Set_Counter(WWDG_CNT);//重设窗口看门狗的值!         
WWDG->SR=0X00;//清除提前唤醒中断标志位 
// LED1=!LED1; 
}

以上2个函数,喂狗后直接结束函数,程序就一直重启,随便加上一行就不重启了,跟第三行有毛子关系呢,不解啊。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 20:49
这个地方不能乱改 !!!
xuande
2楼-- · 2019-07-20 23:26
 精彩回答 2  元偷偷看……
tolonx
3楼-- · 2019-07-21 04:58
 精彩回答 2  元偷偷看……
xiajifeihhz
4楼-- · 2019-07-21 09:48
回复【4楼】正点原子:
---------------------------------
为什么不去掉LED1=!LED1 后就不行了
正点原子
5楼-- · 2019-07-21 14:24
回复【5楼】xiajifeihhz:
---------------------------------
再加个delay_us就好了
貌似是 因为执行时间不够导致的,这个st官方有说明过。具体的你百度下
江南烟雨梦
6楼-- · 2019-07-21 18:16
这狗有毒。。。。。

一周热门 更多>