微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 窗口看门狗与独立看门狗的问题,请大神解答

窗口看门狗与独立看门狗的问题,请大神解答

时间:10-02 整理:3721RD 点击:
两个看门狗的初始化:
WWDG_Init(0X7F,0X5F,WWDG_Prescaler_8);   //窗口看门狗初始化,分频系数为8
IWDG_Init(4,625);    //独立看门狗初始化,分频系数为64
为什么写成
WWDG_Init(0X7F,0X5F,3);
程序不正确

IWDG_Init(IWDG_Prescaler_8,625);
程序正确

也就是说为什么独立看门狗表示分频系数时直接可用数字,而窗口看门狗分频系数则必须使用WWDG_Prescaler_8,直接用数字就会出错呢

独立看门狗的初始化函数是这样的://初始化独立看门狗
//prer:分频数:0~7(只有低3位有效!)
//分频因子=4*2^prer.但最大值只能是256!
//rlr:重装载寄存器值:低11位有效.
//时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).
void IWDG_Init(u8 prer,u16 rlr)
窗口看门狗分频系数使用WWDG_Prescaler_8 是因为底层函数已经封装好的了  #define WWDG_Prescaler_1    ((uint32_t)0x00000000)
#define WWDG_Prescaler_2    ((uint32_t)0x00000080)
#define WWDG_Prescaler_4    ((uint32_t)0x00000100)
#define WWDG_Prescaler_8    ((uint32_t)0x00000180)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top