1.独立看门狗的溢出时间计算:
Tout=((42^prer)rlr)/40
(1)prer是IWDG_PR寄存器中位2:0的十进制值
所以42^prer就表示分频因子
(2)40/42^prer 就表示最后的时钟频率,即1s中计时个数
(3)42^prer/40就表示时钟周期,即记一个数所需时间
(4)42^prer/40 * RLR 就是记RLR 寄存器中所存的数所需的时间
常用的设置:1s喂狗一次:prer =4,RLR =625
2.配置步骤:
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(prer);
IWDG_SetReload(rlr);
IWDG_ReloadCounter();
IWDG_Enable();
3.往键值寄存器IWDG_KR写的三个数:
0x5555:打开写保护,要想配置分频系数和加载值必须打开写保护
0xAAAA:“喂狗”,重新加载值
0xCCCC:使能看门狗
注意:除了0x5555将其他值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。重装载操作(即写入 0xAAAA)也会启动写保护功能。
1.独立看门狗的溢出时间计算:
Tout=((42^prer)rlr)/40
(1)prer是IWDG_PR寄存器中位2:0的十进制值
所以42^prer就表示分频因子
(2)40/42^prer 就表示最后的时钟频率,即1s中计时个数
(3)42^prer/40就表示时钟周期,即记一个数所需时间
(4)42^prer/40 * RLR 就是记RLR 寄存器中所存的数所需的时间
常用的设置:1s喂狗一次:prer =4,RLR =625
2.配置步骤:
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(prer);
IWDG_SetReload(rlr);
IWDG_ReloadCounter();
IWDG_Enable();
3.往键值寄存器IWDG_KR写的三个数:
0x5555:打开写保护,要想配置分频系数和加载值必须打开写保护
0xAAAA:“喂狗”,重新加载值
0xCCCC:使能看门狗
注意:除了0x5555将其他值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。重装载操作(即写入 0xAAAA)也会启动写保护功能。
举报