窗口看门狗例程。
库函数版本:
//窗口看门狗中断服务程序
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个函数,喂狗后直接结束函数,程序就一直重启,随便加上一行就不重启了,跟第三行有毛子关系呢,不解啊。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
为什么不去掉LED1=!LED1 后就不行了
---------------------------------
再加个delay_us就好了
貌似是 因为执行时间不够导致的,这个st官方有说明过。具体的你百度下
一周热门 更多>