第十章 窗口看门狗实验
10.1 实验目的本章学习
STM32的另一个看门狗--窗口看门狗的使用。数据手册请参看第19章。
10.2 实验简介窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在 T6 位(WWDG->CR 的第六位)变成0前被刷新,看门狗
电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新,如下图所示:
图10.2.1
窗口看门狗会在2种条件下引发复位:
l 当递减计数器的值小于0x40,则产生复位。
l 当递减计数器的值大于窗口值时重载计数器,则产生复位。
所以要避免复位,递减计数器必须在其值小于窗口寄存器的数值并且大于0x3F时被重新装载,因为窗口看门狗有一个WEI中断,开启时,当递减计数器到达0x40时,则产生此中断,相应的中断服务程序(ISR)可以用来加载计数器以防止WWDG复位。
10.3 电路设计这里我们利用前面章节的按键盒LED电路,来验证窗口看门狗的监视复位功能。
10.4 软件设计打开光盘目录下的3、程序源码->1、基础实验->下的实验7 窗口看门狗实验工程,打开左侧目录树BSP下的wwdg.c文件,此为窗口看门狗的驱动程序文件,工程目录如下图所示:
图10.4.1
打开wwdg.c文件,代码如下:
打开main.c文件,代码如下:
10.5 下载验证用MINI USB线通过CN3的USB口连接电脑和
开发板,拨动
电源开关给开发板上电,D3电源指示灯点亮,连接好JLINK/ST-LINK下载调试器,打开“实验7 窗口看门狗实验”工程代码,编译下载
,D4
、D5
指示灯,慢闪烁(窗口看门狗WWDG复位所致),按下KEY1按键不松开,D4
、D5
指示灯快闪烁(没有复位)。