初学者对于WWDG初始化的疑惑,请大家帮帮忙

2019-07-21 02:32发布

为什么这么写WWDG不能正常工作?
void WWDG_Config(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);

WWDG_NVIC_Config();

WWDG_SetPrescaler(WWDG_Prescaler_8);
WWDG_SetWindowValue(0X5F);

WWDG_ClearFlag();
WWDG_EnableIT();
WWDG_Enable(0X7F); 
}
而这样写就能正常工作了?
void WWDG_Config(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);

WWDG_NVIC_Config();

WWDG_SetPrescaler(WWDG_Prescaler_8);
WWDG_SetWindowValue(0X5F);
WWDG_Enable(0X7F);

WWDG_ClearFlag();
WWDG_EnableIT();
}
仅仅是交换了一下函数调用的顺序,另外为什么要调用WWDG_ClearFlag()函数?我自己写时没调用也不能正常工作。。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-21 07:56
不能乱改的。
andychen92
2楼-- · 2019-07-21 11:20
不能改变顺序的原因是什么呢?能否简单说明一下,谢谢!
正点原子
3楼-- · 2019-07-21 16:11
 精彩回答 2  元偷偷看……
andychen92
4楼-- · 2019-07-21 18:00
 精彩回答 2  元偷偷看……
石启亮
5楼-- · 2019-07-22 00:00
当时上学那会老师讲过,中断是要先配置,最后使能,下面那段EnableIT()在最后呢

一周热门 更多>