☰
STM32CubeMx开发之路—15窗口看门狗
2026/10/11 1:16:49 网站建设 项目流程

STM32CubeMx开发之路—窗口看门狗


附件

源码仓库: 码云仓库


运行环境

  • Windows10
  • STM32CubeMXVersion 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


  • 打开中断


代码修改

  • 修改主函数


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


  • 在中断中不喂狗(无限重启)


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询