主要内容:
1) 窗口看门狗概述;
2) 常用寄存器和库函数配置;
3) 窗口看门狗实验。
窗口看门狗实验内容:
为了对之前的知识进行总结复习,本人在教学案例的基础上又“意淫”了一些附加要求,具体内容为,启动后,
独立看门狗每次自动复位时,LED0先灭后亮,蜂鸣器不叫。按KEY2键可对独立看门狗进行手动喂狗,按下时,LED0灭,蜂鸣器叫,指令内容通过串口传至PC端,松开时,LED0亮,蜂鸣器不叫,长按KEY2时,LED0一直灭,蜂鸣器一直叫,但指令只传一次;
窗口看门狗启动提前唤醒中断,每次因中断自动喂狗时,LED1翻转一次(即由0至1或由1至0),蜂鸣器不叫,若喂狗同时KEY1按下,指令内容通过串口传至PC端。
1. 窗口看门狗的概念
由于喂狗时间是一个有上下限的范围内(窗口),通过设定相关寄存器,设定其上限时间(下限固定),喂狗的时间不能过早也不能过晚,所以称之为窗口看门狗;
独立看门狗限制喂狗时间在0-x内,x由键寄存器的低16位决定。喂狗的时间不能过晚。
2. 窗口看门狗工作示意图
2.1 由上图所示,喂狗时间只能在刷新窗口间;
2.2 3Fh用二进制表示是0011 1111;
2.3 T6位至到达3Fh(0011 1111)前一时刻(0100 0000),当下一时刻到达3Fh时,变为0011 1111,即第六位由1变为0,执行复位。
|