历史上的今天
返回首页

历史上的今天

今天是:2025年01月17日(星期五)

正在发生

2021年01月17日 | STM32F0xx_看门狗(独立+窗口)配置详细过程

2021-01-17 来源:eefocus

Ⅰ、概述

对于看门狗,我觉得做单片机或者嵌入式开发的人员来说并不陌生,今天总结STM32F0看门狗的功能,F0的看门狗有两种:独立和窗口看门狗。


今天提供两种看门狗的软件工程实例,供大家下载。


两种看门狗各有各的特点,应用在不同的场合,下面将分别简单总结一下独立和窗口看门狗的功能。


Ⅱ、下载

文章提供的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘,请放心下载测试,如有问题请检查一下你的板子是否有问题。


ST标准外设库和参考手册、数据手册等都可以在ST官网下载,你也可以到我的360云盘下载。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文)2015-07”建议参考该手册,以后如果你换用一种型号芯片也方便了解。

 

今天的软件工程下载地址(360云盘):

IWDG独立看门狗:

https://yunpan.cn/cRfa8Qhi9g48Y  访问密码 2c3e

 

WWDG窗口看门狗:

https://yunpan.cn/cRfa5DvT9syUm  访问密码 7bf1

 

STM32F0xx的资料可以在我360云盘下载:

https://yunpan.cn/cS2PVuHn6X2Bj  访问密码 8c37

 

Ⅲ、准备工作

对于看门狗的编程,建议大家准备F0的参考手册和数据手册,方便查阅相关知识,没有的请到ST官网或到我360云盘下载。


今天总结的软件工程是基于“TIM基本延时配置详细过程”修改而来,因此需要将该软件工程下载准备好。我每次都是提供整理好的软件工程供大家下载,但是,如果你是一位学习者,建议自己亲手一步一步操作。

 

Ⅳ、看门狗原理

①IWDG独立看门狗

独立看门狗由内部低速时钟LSI提供计数时钟,8 位分频,12位计数,需要定期喂狗(重载数值 ReloadCounter),如果计数值减为0了,还没有重载数值,则会响应复位事件。

 

 

②WWDG窗口看门狗

窗口看门狗由APB1(RCC_APB1Periph_WWDG)提供计数时钟,2 位分频,7位计数,需要定期喂狗(更新计数值),如果计数值减为0x40了,还未更新计数值,则会响应复位事件。

 

 

Ⅴ、代码描述

今天提供两种看门狗软件工程,下面分别来总结一下,主要讲解配置的函数接口。

 

①IWDG独立看门狗


该函数位于main.c文件上面;

重载数值的计算请结合上面的结构框图配合函数源代码,从函数中可以看的出来,只要0.5s。

 

运行效果:


喂狗最大时间500ms(理论值),但内部低速时钟LSI存在误差,建议修改测试时间:小于450,大于550;

小于450ms: 正常喂狗,串口间隔打印"Running..."LED变化;

大于550ms: 喂狗超时,系统复位,串口打印"System Reset..."

 

 

②WWDG窗口看门狗


该函数位于main.c文件上面;

这里的时钟和上面IWDG的时钟不同,结合框图也看得出了经过分频之后计数的值也是计算的出来的。

 

运行效果:


喂狗最大时间43ms(理论值),但串口打印需要一两毫秒,建议修改测试时间:小于41,大于43;

小于41ms: 正常喂狗,串口间隔打印"Running..."LED变化;

大于43ms: 喂狗超时,系统复位,串口打印"System Reset..."

 

③总结一下二者的区别

1)、IWDG使用内部低速时钟LSI,WWDG使用系统时钟APB1ENR

2)、IWDG没有中断,WWDG有中断

3)、IWDG是12位递减的。WWDG是7位递减的

4)、IWDG只有下限,WWDG有下限和上限

5)、IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。 WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。

看门狗在长期工作的产品中用到比较多,作用很简单,防止死机。看门狗的功能也可用于定时计数等。

 

Ⅵ、说明

或许你硬件芯片不是提供工程里面的芯片,但是STM32F0的芯片软件兼容性很好,可以适用于F0其他很多型号的芯片,甚至是F2、F4等芯片上(具体请看手册、或者亲自测试)。


本文章提供的软件工程是基于ST标准外设库为基础建立而成,而非使用STM32CubeMX建立工程。个人觉得使用ST的标准外设库适合与学习者,STM32CubeMX建立工程结构复杂,对于学习者,特别是初学者估计会头疼。


今天的工程是基于工程“STM32F0xx_TIM基本延时配置详细过程”修改而来,以上实例总结仅供参考,若有不对之处,敬请谅解


推荐阅读

史海拾趣

D1 International Inc公司的发展小趣事

在快速扩张的过程中,D1 International Inc公司始终坚守品质管理的原则。公司严格把控产品的每一个环节,从原材料采购到生产流程,再到最终的产品检验,都力求做到精益求精。这种对品质的执着追求,使得D1 International Inc公司的产品在市场上赢得了良好的口碑,也为公司的长期发展提供了有力保障。

Catalyst公司的发展小趣事

Catalyst公司在电子行业的初创期,以其独特的创新理念和前瞻性的技术布局,奠定了坚实的基础。公司创始团队由一群对电子行业充满热情的工程师和科学家组成,他们共同致力于研发高效、稳定的电子产品。通过不断的技术研发和市场调研,Catalyst成功推出了一系列具有竞争力的产品,逐步在市场中崭露头角。

CHONGQING PINGYANG ELECTRONICS CO.,LTD.公司的发展小趣事

随着公司的发展,技术创新成为推动重庆平洋电子有限公司不断前进的重要动力。公司不断加大对研发的投入,引进高端人才,积极研发新技术、新产品。经过多年的努力,公司在电子元器件领域取得了重大突破,产品性能和质量得到了显著提升,赢得了市场的广泛认可。

Heatron公司的发展小趣事

进入21世纪后,Heatron公司开始积极寻求国际合作机会,以进一步拓展其全球业务。公司先后与多个国家的知名企业建立了战略伙伴关系,共同开发新产品、新技术。通过资源共享和市场互补,Heatron不仅成功进入了多个新兴市场,还显著提升了其品牌在国际市场上的知名度和影响力。

Display Elektronik GmbH公司的发展小趣事

随着环保意识的日益增强,Display Elektronik GmbH将绿色环保理念融入到了公司的发展中。公司采用环保材料和生产工艺,减少了对环境的污染。同时,Display Elektronik GmbH还积极推广绿色显示技术,为客户提供更加环保、节能的显示解决方案。这种对环保的关注和投入,让Display Elektronik GmbH在行业中树立了良好的形象。

Broyce Control公司的发展小趣事

进入70年代,Broyce Control开始将目光投向更广阔的市场。公司投入大量资源进行技术研发,成功开发出了一系列具有创新性的电气和电子产品,如继电器、漏电继电器和接地故障检测器等。这些产品不仅提高了工业生产的效率和安全性,也使得Broyce Control在行业内逐渐崭露头角。同时,公司还积极拓展产品线,将业务范围延伸到监控和保护设备领域,为大型工业应用提供了更全面的解决方案。

问答坊 | AI 解惑

UPS电源工作原理及应用

一、引言 保证任何情况下的正常供电,是冶金行业的重要基础。为此,除工业电网正常供电外,还需配备UPS供电系统。UPS电源是保障供电稳定和连续性的重要设备,因其主要机智能化程度高,储能器材采用免维护蓄电池,使得在运行中往往忽略了对该系统的维 ...…

查看全部问答>

第四届(1999年)全国大学生电子设计竞赛题目

本帖最后由 paulhyde 于 2014-9-15 09:49 编辑 一、题目:测量放大器 二、任务 设计并制作一个测量放大器及所用的直流稳压电源。参见图1。输入信号VI取自桥式测量电路的输出。当R1=R2=R3=R4时,VI=0。R2改变时,产生VI ¹0的电压信号 ...…

查看全部问答>

51单片机下PS2键盘驱动

哪位有完整的驱动程序源码啊?我在网上找了很多,都不完整。用我所有的分求了。 注:我要的不是键盘中的控制程序,而是主机的程序。 如果回答下列问题,也有分 1。收到键盘发来功能键的扫描码时,应该怎么处理。比如按下NUM LOCK键,或CAPS LOCK ...…

查看全部问答>

window7触摸屏驱动及触摸IC接口

请问各位大大,windows7支持哪些接口的触摸屏芯片,usb、I2C、spi还是PS2? 另外,对于多点触摸,windows需要从触摸屏控制芯片得到哪些数据以及数据格式? 以前的单点触摸,触摸屏芯片只要送坐标给系统就可以了,跟鼠标一样,不知道多点触摸跟普 ...…

查看全部问答>

也许很简单!但确实很奇怪!

我在EVC中加载网页的时候: SendMessage(hHtml, DTM_NAVIGATE, (WPARAM)NM_BEFORENAVIGATE, (LPARAM)strAddress); 我网页地址均为本地。 在这里: 当我第一次执行加载网页A时,没有任何问题。 当我第二次执行加载网页B时,也没有任何问题。 ...…

查看全部问答>

如何将BMP图部分透明显示

我使用TransparentBlt函数,可是结果却什么都没有显示了…

查看全部问答>

请诸位推荐一款USB至串口转换器,用于STM32更新

                                 需要对出厂的 设备进行软件升级,设备本身只有串口。如果用PC机主板上自带的串口,则没有问题;如果用USB转串口的 ...…

查看全部问答>

LM3S1911如何读P口

LM3S1911如何读P口,就是如何把P口,比如PF口的状态读到一个字符变量,初学,请各位不吝赐教,谢谢,在线等…

查看全部问答>

Ev1527的pic单片机软件接收解码程序

Ev1527的pic单片机软件接收解码程序…

查看全部问答>