STM32/STM8技术论坛
直播中

hehe

11年用户 72经验值
擅长:嵌入式技术 控制/MCU 嵌入式技术 控制/MCU
私信 关注

【连载】【星光闪电STM32F407开发板】第十章 窗口看门狗实验

         第十章 窗口看门狗实验


10.1 实验目的
本章学习STM32的另一个看门狗--窗口看门狗的使用。数据手册请参看第19章。

10.2 实验简介
窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在 T6 位(WWDG->CR 的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新,如下图所示:
图片1.png
图10.2.1
窗口看门狗会在2种条件下引发复位:
l 当递减计数器的值小于0x40,则产生复位。
l 当递减计数器的值大于窗口值时重载计数器,则产生复位。
所以要避免复位,递减计数器必须在其值小于窗口寄存器的数值并且大于0x3F时被重新装载,因为窗口看门狗有一个WEI中断,开启时,当递减计数器到达0x40时,则产生此中断,相应的中断服务程序(ISR)可以用来加载计数器以防止WWDG复位。

10.3 电路设计
这里我们利用前面章节的按键盒LED电路,来验证窗口看门狗的监视复位功能。

10.4 软件设计
打开光盘目录下的3、程序源码->1、基础实验->下的实验7 窗口看门狗实验工程,打开左侧目录树BSP下的wwdg.c文件,此为窗口看门狗的驱动程序文件,工程目录如下图所示:
图片6.png
图10.4.1



打开wwdg.c文件,代码如下:
                           图片7.png
                           图片8.png
                           图片9.png

打开main.c文件,代码如下:
                        图片10.png
                        图片11.png
                        图片12.png
10.5 下载验证
用MINI USB线通过CN3的USB口连接电脑和开发板,拨动电源开关给开发板上电,D3电源指示灯点亮,连接好JLINK/ST-LINK下载调试器,打开“实验7 窗口看门狗实验”工程代码,编译下载D4D5指示灯,慢闪烁(窗口看门狗WWDG复位所致),按下KEY1按键不松开,D4D5指示灯快闪烁(没有复位)。

更多回帖

发帖
×
20
完善资料,
赚取积分