新闻详情

新闻详情

首页 / 资讯中心 / 详情

STM32-看门狗 10

发布时间:2026/9/2 15:56:06来源:尧图网络
STM32-看门狗 10
看门狗简介看门狗定义监控程序运行状态程序出现卡死或跑飞的现象看门狗会复位程序看门狗工作逻辑 本质是一个向下计数定时器一定时间内程序没有执行喂狗重置计数器看门狗硬件电路就会产生自动复位信号看门狗分类 独立看门狗(IWDG)依靠LSI工作即使主时钟发生故障或停止IWDG 依然能继续工作这也是它被称为系统“最后一道防线”的原因。对时间精度要求低只有喂狗最晚界限窗口看门狗(WWDG)使用APB1系统时钟有喂狗最早与最晚界限要求看门狗在精确计时窗口起作用IWDG键寄存器 通过在整个键寄存器写入特定值来代替控制寄存器写入一位的功能以降低硬件电路受到干扰的概率启用独立_门狗 0xCCCC IWDG_RLR中的值重新加载到计数器(喂狗) 0xAAAA 解除IWDG_PR和IWDC_RLR的写仅护 0x5555 启用IWDG_PR和IWDG_RLR的写护 0x5555之外的其他值看门狗溢出频率 IWDGLSI时钟频率 / 分频系数 1 / 重装载值 1 WWDG晚喂狗界限APB1时钟频率 / 4096 / 分频系数 1 / T[5:0] 1 WWDG早喂狗界限APB1时钟频率 / 4096 / 分频系数 1 / W[5:0] 1注意IWDG与WWDG根据设定喂狗时间查表选择分频系数 WWDG固定进行一次4096分频//WWDG WDGTB 1 - 2的一次方分频 2 3 最小超时值 113us 227us 455us 910us 最大超时值 7.28ms 14.56ms 29.12ms 58.25ms看门狗喂狗方式 IWDG写入键寄存器重装固定值RLR WWDG直接写入计数值写多少重装多少独立看门狗函数IWDG写使能函数函数使用 函数IWDG_WriteAccessCmd 入参IWDG_WriteAccess_Enable / IWDG_WriteAccess_Disable 返回值无函数调用示例IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);IWDG设置预分配值函数函数使用 函数IWDG_SetPrescaler 入参IWDG_Prescaler_4 / IWDG_Prescaler_8 / IWDG_Prescaler_16......返回值无函数调用示例IWDG_SetPrescaler(IWDG_Prescaler_4);IWDG设置重装载值函数函数使用 函数IWDG_SetReload 入参数值 返回值无函数调用示例IWDG_SetReload(2499);IWDG喂狗函数函数使用 函数IWDG_ReloadCounter 无参无返回值函数调用示例IWDG_ReloadCounter();IWDG启动函数函数使用 函数IWDG_Enable 无参无返回值函数调用示例IWDG_Enable();IWDG标志位IWDG_GetFlagStatus函数 RCC_GetFlagStatus函数RCC_FLAG_IWDGRST独立看门狗复位独立看门狗模块函数void IWDG_Init(void)IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); IWDG_SetPrescaler(IWDG_Prescaler_16); IWDG_SetReload(2500 - 1); IWDG_ReloadCounter(); IWDG_Enable(); ​ 公式 IWDGLSI时钟频率 / 分频系数 1 / 重装载值 1 算法 根据超时复位时间查表选择几分频 示例 LSI 40KHz / 16 / 2500 1 结果 1S得喂一次喂狗while (1) { //喂狗间隔为200600800ms IWDG_ReloadCounter(); Delay_ms(800); }窗口看门狗函数WWDG设置预分频函数函数使用 函数WWDG_SetPrescaler 入参WWDG_Prescaler_1 / WWDG_Prescaler_2 / WWDG_Prescaler_4 / WWDG_Prescaler_8 返回值无函数调用示例WWDG_SetPrescaler(WWDG_Prescaler_8);WWDG设置窗口值函数函数使用 函数WWDG_SetWindowValue 入参W[6:0]值 返回值无函数调用示例WWDG_SetWindowValue(0x40 | 21);WWDG使能函数函数使用 函数WWDG_Enable 入参T[6:0]值 返回值无函数调用示例WWDG_Enable(0x40 | 54);WWDG喂狗函数函数使用 函数WWDG_SetCounter 入参T[6:0]值 返回值无函数调用示例WWDG_SetCounter(0x40 | 54);WWDG标志位WWDG_GetFlagStatus函数 RCC_GetFlagStatus函数 RCC_FLAG_WWDGRST窗口看门狗复位窗口看门狗模块函数void WWDG_Init(void)RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); WWDG_SetPrescaler(WWDG_Prescaler_8); //设置预分频为8 WWDG_SetWindowValue(0x40 | 21); //W[5:0]:54-21 33 喂狗早界限30ms WWDG_Enable(0x40 | 54); //T[5:0]:54 喂狗晚界限50ms 公式WWDG晚喂狗界限APB1时钟频率 / 4096 / 分频系数 1 / T[5:0] 1 公式WWDG早喂狗界限APB1时钟频率 / 4096 / 分频系数 1 / (T[5:0] - W[5:0]) 1 使用根据最晚溢出时间选择分频系数算出分频系数再算出T[5:0]与W[5:0]喂狗while (1) { Delay_ms(40); WWDG_SetCounter(0x40 | 54); }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于NLP与智能排版的文档自动化转换工具Paper2Slides实现详解 2026/9/2 16:53:19

基于NLP与智能排版的文档自动化转换工具Paper2Slides实现详解

简介:Paper2Slides是一款面向科研人员、高校教师及学术汇报者的开源自动化演示文稿生成工具,解决论文内容向高质量幻灯片与学术海报转化耗时费力的痛点,支持PDF、Word、Markdown等多格式输入,结合RAG技术精准提取关键信息并保留原…

阅读更多 →
Unity Android UVC摄像头接入方案:基于libuvc实现USB视频流 2026/9/2 16:53:19

Unity Android UVC摄像头接入方案:基于libuvc实现USB视频流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
基于PyTorch的即用型多语言OCR工具:从原理到实战部署 2026/9/2 16:53:19

基于PyTorch的即用型多语言OCR工具:从原理到实战部署

简介:这是一套面向Python开发者、计算机视觉初学者及毕业设计学生的即用型多语言OCR解决方案,解决多语种文本图像识别与本地化部署难题。资源基于PyTorch构建,集成CRAFT文本检测与CRNN序列识别等主流深度学习技术,支持80余种语言&…

阅读更多 →
遥感语义分割数据集构建实战:从Sentinel-2影像到像素级耕地标注全流程 2026/9/2 16:53:19

遥感语义分割数据集构建实战:从Sentinel-2影像到像素级耕地标注全流程

简介:荷兰耕地语义分割遥感影像数据集是一份面向GIS、农业遥感和深度学习研究者的高质量标注数据,可用于耕地提取、土地覆盖分类及语义分割模型训练。压缩包内共2000个xml标注文件,整体大小约786.99MB,这些文件配合原始遥感影像可…

阅读更多 →
开源模型、Agent工具与垂直应用:AI落地链路与开发实践 2026/9/2 16:53:19

开源模型、Agent工具与垂直应用:AI落地链路与开发实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
CPU-Z重置进程亲和性?解析Windows调度机制与Process Lasso的权限博弈 2026/9/2 16:50:17

CPU-Z重置进程亲和性?解析Windows调度机制与Process Lasso的权限博弈

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞