[mw_shl_code=c,true]int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //初始化延时函数
LED_Init(); //初始化LED端口
KEY_Init(); //初始化按键
LED0=0; //点亮LED0
delay_ms(300);
WWDG_Init(0x7F,0X5F,WWDG_Prescaler_8); //计数器值为7f,窗口寄存器为5f,分频数为8
// while(1)
// {
// LED0=1; //熄灭LED灯
// }
}[/mw_shl_code]
本人使用原子的探索者开发板
上面这个原子窗口看门狗例程中的main函数的内容,我发现led一直在闪烁。即使屏蔽掉while的死循环也是led在闪烁。
所以,我想问的是,难道说每次看门狗中断了都将程序复位了吗?还是?这个地方我想不太明白,求解答。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
您的意思是不能在中断服务函数中喂狗,在main函数中喂。可以这样理解吗?
---------------------------------
无死循环的main函数,讨论无意义。
---------------------------------
哦,我把LED1 = !LED1 改成 LED1 =0.为什么DS1灯不亮呢?
void WWDG_IRQHandler(void)
{
WWDG_SetCounter(WWDG_CNT); //重设窗口看门狗值
WWDG_ClearFlag();//清除提前唤醒中断标志位
LED1=0;
}
一周热门 更多>