STM32CubeMx开发之路—窗口看门狗
运行环境
Windows10
STM32CubeMX Version 5.2.0
Keil5(MDK5) Version 5.28.0.0
简介
本例程主要讲解如何使用STM32的窗口看门狗, 详情请参考官方的参考文档, 本教程教大家如何使用它。
STM32CubeMx基本配置
基础配置过程请参考 STM32CubeMx开发之路—配置第一个项目
使用printf功能
重定向printf的过程请参考 STM32CubeMx开发之路—3发送USART数据和printf重定向
CubeMX配置
查看时钟
窗口看门狗挂载到PCLK1上面的:我的时钟是36MHZ

修改配置
原理 下面是官方的图,你有两种喂狗方式
在刷新窗口喂狗
打开窗口看门狗中断,在中断中喂狗(这是最后的喂狗机会)

1 选择窗口看门狗
2 选中Activated
3 设置分频值psc、窗口寄存器的值window value、递减计数器刷新值counter

计 数 频 率 = 36000000 p s c ∗ 4096 = 36000000 8 ∗ 4096 = 1098.6 H Z ( 记 一 次 数 需 要 时 间 约 910 u s ) 计数频率 = frac{36000000}{psc*4096} = frac{36000000}{8*4096} = 1098.6HZ(记一次数需要时间约910us) 计数频率=psc∗409636000000=8∗409636000000=1098.6HZ(记一次数需要时间约910us)
超 时 时 间 = 记 一 次 数 需 要 时 间 ∗ ( c o u n t e r − 64 ) = 910 u s ∗ ( 127 − 64 ) ≈ 58 m s 超时时间 = 记一次数需要时间 * (counter - 64) = 910us * (127 - 64) ≈ 58ms 超时时间=记一次数需要时间∗(counter−64)=910us∗(127−64)≈58ms
打开中断

代码修改
修改主函数

在中断中喂狗(运行正常)

《img widt 》
在中断中不喂狗(无限重启)

源码
STM32F103rb_wdg_w.rar
STM32CubeMx开发之路—窗口看门狗
运行环境
Windows10
STM32CubeMX Version 5.2.0
Keil5(MDK5) Version 5.28.0.0
简介
本例程主要讲解如何使用STM32的窗口看门狗, 详情请参考官方的参考文档, 本教程教大家如何使用它。
STM32CubeMx基本配置
基础配置过程请参考 STM32CubeMx开发之路—配置第一个项目
使用printf功能
重定向printf的过程请参考 STM32CubeMx开发之路—3发送USART数据和printf重定向
CubeMX配置
查看时钟
窗口看门狗挂载到PCLK1上面的:我的时钟是36MHZ

修改配置
原理 下面是官方的图,你有两种喂狗方式
在刷新窗口喂狗
打开窗口看门狗中断,在中断中喂狗(这是最后的喂狗机会)

1 选择窗口看门狗
2 选中Activated
3 设置分频值psc、窗口寄存器的值window value、递减计数器刷新值counter

计 数 频 率 = 36000000 p s c ∗ 4096 = 36000000 8 ∗ 4096 = 1098.6 H Z ( 记 一 次 数 需 要 时 间 约 910 u s ) 计数频率 = frac{36000000}{psc*4096} = frac{36000000}{8*4096} = 1098.6HZ(记一次数需要时间约910us) 计数频率=psc∗409636000000=8∗409636000000=1098.6HZ(记一次数需要时间约910us)
超 时 时 间 = 记 一 次 数 需 要 时 间 ∗ ( c o u n t e r − 64 ) = 910 u s ∗ ( 127 − 64 ) ≈ 58 m s 超时时间 = 记一次数需要时间 * (counter - 64) = 910us * (127 - 64) ≈ 58ms 超时时间=记一次数需要时间∗(counter−64)=910us∗(127−64)≈58ms
打开中断

代码修改
修改主函数

在中断中喂狗(运行正常)

《img widt 》
在中断中不喂狗(无限重启)

源码
STM32F103rb_wdg_w.rar
举报