西安做网站选哪家公司,营销型网站建设供货商,山东住房和城乡建设厅网站电话,lamp wordpress 一键目录
一、看门狗概念
1、定义#xff1a;
二、单片机中的看门狗
1、功能描述#xff1a;
2、看门狗设置部分
预分频寄存器(IWDG_PR)
3、窗口看门狗
特性#xff1a;
4、看门狗配置#xff1a; 一、看门狗概念
看门狗--定时器#xff08;不属于基本定时器、通用定… 目录
一、看门狗概念
1、定义
二、单片机中的看门狗
1、功能描述
2、看门狗设置部分
预分频寄存器(IWDG_PR)
3、窗口看门狗
特性
4、看门狗配置 一、看门狗概念
看门狗--定时器不属于基本定时器、通用定时器、高级定时器
1、定义
看门狗又叫watchdog timer是一个定时器电路一般有一个输入叫喂狗(kicking the dog/service the dog一个输出到MCU的RST端MCU正常工作的时候每隔一段时间输出一个信号到喂狗端给 WDT清零如果超过规定的时间不喂狗一般在程序跑飞时WDT定时超过就会给出一个复位信号到MCU使MCU复位。防止MCU死机. 看门狗的作用就是防止程序发生死循环或者说程序跑飞。
在由单片机构成的微型计算机系统中由于单片机的工作常常会受到来自外界电磁场的干扰造成各种寄存器和内存的数据混乱会导致程序指针错误不在程序区取出错误的程序指令等都有可能会陷入死循环程序的正常运行被打断由单片机控制的系统无法继续正常工作导致整个系统的陷入停滞状态发生不可预料的后果。
看门狗又叫 watchdog从本质上来说就是一个定时器电路一般有一个输入和一个输出其中输入叫做喂狗输出一般连接到另外一个部分的复位端一般是连接到单片机。 看门狗的功能是定期的查看芯片内部的情况一旦发生错误就向芯片发出重启信号。看门狗命令在程序的中断中拥有最高的优先级。
输入端喂狗定时器中刷新计数器--一个函数
输出端连接复位电路一旦计数器从最大值计数到0,还没有喂狗就直接复位
重装在1000
看门狗就会从1000从上而下计数0--1000中间没有喂狗那么计数器计数到0那么就会复位如果在0--1000的范围内喂狗了那么就代表当前程序正常执行不会复位。 假如说我们的一个程序执行事件1500ms,那么我们就可以将我们的看门狗的运行周期设置为大于1500ms的时间假如说设置为2000ms那么我们就可以检测程序运行时间如果2000ms还没有喂狗代表程序卡死了就需要复位。
二、单片机中的看门狗 看门狗独立看门狗 窗口看门狗
独立看门狗的时钟40KHZLSI
窗口看门狗的时钟APB1分频得到
1、功能描述
在键寄存器(IWDG_KR)中写入0xCCCC开始启用独立看门狗此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时会产生一个复位信号(IWDG_RESET)。无论何时只要在键寄存器IWDG_KR中写入0xAAAA IWDG_RLR中的值就会被重新加载到计数器从而避免产生看门狗复位 。
0xcccc--开启看门狗
0xaaaa--喂狗
IWDG_RESET--复位信号
IWDG_KR---键寄存器
IWDG_RLR--重装载寄存器
2、看门狗设置部分
设置一个1s的周期进行喂狗
独立看门狗时钟40Khz
我们只需要设置预分频寄存器和重装在寄存器即可
预分频寄存器(IWDG_PR) 预分频64分频
重装在625
周期(64/40khz)*625 ms 周期1000ms
3、窗口看门狗
窗口看门狗通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新看门狗电路在达到预置的时间周期时会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前如果7位的递减计数器数值(在控制寄存器中)被刷新 那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。
特性
● 可编程的自由运行递减计数器
● 条件复位
─ 当递减计数器的值小于0x40 (若看门狗被启动)则产生复位。
─ 当递减计数器在窗口外被重新装载 (若看门狗被启动)则产生复位。见0。
● 如果启动了看门狗并且允许中断当递减计数器等于0x40时产生早期唤醒中断(EWI)它可
以被用于重装载计数器以避免WWDG复位
下限值0x40--计数器递减到0x40还没有喂狗那么就会产生复位
上限值自定义的不要超过最大的计数周期计数器值大于上限值之前喂狗也会去复位。 4、看门狗配置 主函数中