历史上的今天
返回首页

历史上的今天

今天是:2024年11月08日(星期五)

正在发生

2019年11月08日 | STM32F0xx_看门狗(独立+窗口)配置详细过程

2019-11-08 来源:51hei

Ⅰ、概述


对于看门狗,我觉得做单片机或者嵌入式开发的人员来说并不陌生,今天总结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基本延时配置详细过程”修改而来,以上实例总结仅供参考,若有不对之处,敬请谅解。


Ⅶ、最后


关注微信,回复“更多内容”,将获得更多内容(如:UCOS实例等,不断更新中......)。


如果你喜欢我分享的内容,你又想了解更多相关内容,请关注文章开头的微信公众号,新内容持续更新中,后期将会有更多精彩内容出现。

推荐阅读

史海拾趣

DFRobot公司的发展小趣事

随着市场的不断扩大,DFRobot意识到单一的产品代理无法满足客户的需求。于是,公司开始加大研发投入,自主研发机器人和开源硬件产品。同时,为了保证产品的质量和生产效率,DFRobot在成都和北京设立了生产基地,引进先进的生产设备和技术。这种研发与生产一体化的模式,使DFRobot能够更快速地响应市场变化,推出符合客户需求的新产品。

Appointech Inc公司的发展小趣事

Appointech Inc公司,自创立之初就致力于提供创新的电子解决方案。在公司成立的早期阶段,团队凭借对电子技术的深刻理解和对市场需求的敏锐洞察,开发出了一系列具有竞争力的产品。这些产品不仅满足了客户的实际需求,也为公司赢得了初步的声誉和市场份额。

Galaxy Semi-Conductor Co Ltd公司的发展小趣事

山西飞虹光电科技集团有限公司原以煤炭、洗煤和焦化等生产为主,但在响应山西省委、省政府转型跨越发展的号召下,公司于2010年向高科技产业基地转型。在临汾·甘亭新型工业园区投资16.5亿元建设了“山西陆合飞虹光电科技园”,专注于研发和生产化合物半导体外延片、芯片以及大功率半导体激光器等高科技产品。飞虹光电科技集团通过技术创新,在大功率激光外延片、芯片及LED红、蓝、紫光材料等方面填补了山西省的多项空白,并荣获多项国内外专利及科技奖项。

Avic公司的发展小趣事

随着全球化的推进,Avic公司不断加强与国际航空工业界的合作。公司与多家国际知名航空企业建立了战略合作关系,共同开展航空电子技术的研发和生产。这些合作不仅促进了中国航空工业与国际先进水平的接轨,也为中国航空工业的国际化发展提供了有力支持。

Delphi Connection Systems公司的发展小趣事

随着全球对环保意识的不断提高,Delphi Connection Systems公司也积极响应环保号召,致力于研发和生产环保型连接器产品。公司采用环保材料和工艺,减少生产过程中的污染排放,同时推出可回收、可再利用的连接器产品。这一举措不仅符合了环保要求,也为客户提供了更加环保的解决方案。

Autonics公司的发展小趣事

Autonics始终将产品质量放在首位,建立了严格的质量管理体系。公司引进了先进的生产设备和检测设备,确保产品的生产和质量控制达到国际先进水平。同时,Autonics还积极申请并获得了多项国际产品质量认证,如ISO9001、UL、CE等,进一步提升了产品的竞争力和市场认可度。

问答坊 | AI 解惑

彩电企业抱团应对出口壁垒

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 备受关注的中国彩电企业应对出口专利壁垒有了新的突破。经过与众多国外专利权利人近两年的接触谈判,彩电出口交纳专利费用问题有了较大程度缓和,彻底扭转了DVD时代在专利问题上的被动局面,困扰 ...…

查看全部问答>

这个程序用在2051要怎么改

芯片:89c51 工作晶振:12Hz 功能: 1、按遥控器上的\"1\"键,对应1号灯就点亮,2和3键对应另外两只灯,\"关\"将关闭所有灯。 由于这批灯泡的功率较大,考虑到器件的发热,设计中同一时间内只能亮一只灯。 2、调光功能。如要对灯进行调光,可 ...…

查看全部问答>

LED与荧光粉知识

 近年来,在照明领域最引人关注的事件是半导体照明的兴起。20世纪90年代中期,日本日亚化学公司的Nakamura等人经过不懈努力,突破了制造蓝光发光二极管(LED)的关键技术,并由此开发出以荧光材料覆盖蓝光LED产生白光光源的技术。半导体照明具有绿色 ...…

查看全部问答>

寻找串口通信高手

   问题如下,我用了cncomm1.51类,我读取数据的时候,数据老是不稳定。有的电子设备读取数据很稳定的,请问下,同过com口读取数据和硬件设备有关吗?是什么关系呢?谢谢。…

查看全部问答>

wince5.0 debug编译出错,release编译正常

如题。。。。。。debug错误提示是 BUILD: [01:0000000169:ERRORE] NMAKE :  U1073: don\'t know how to make \'F:\\wince5project\\test1\\WINCE500\\new2440_ARMV4I\\cesysgen\\sdk\\lib\\ARMV4I\\retail\\Ndis.lib\' BUILD: [01:000 ...…

查看全部问答>

地震了患难见真情,我校都捐款了,钱财身外之物。

一直关注各界捐款的情况,像网易,一般会捐,对这种会捐款的公司比较有好感。请问有没有搞嵌入式的公司捐款。最好在北京,天津。明年我一定争取机会到这种公司面试。…

查看全部问答>

【分享】单c,自己用汇编写出来了,呵呵,进步。

这是c: #include                         //包括一个标准的51头函数 #define uchar unsigned char                    &nb ...…

查看全部问答>

有谁用LTC3555?请帮忙看看芯片上的文字。我都割掉使能线了,表现仍与手册相反

的LTC3555的EN1脚表现与手册相反,手册是高电平有效,我的却是低电平有效。 已经把EN1割断了,飞线试了一下,还是一样的。 我的片子上的文字是: 6C 3555 J9729 我现在怀疑是假货,或者是Linear公司专为某些公司修改的。 有谁用?帮 ...…

查看全部问答>

WINCE下自带的数据库,创建数据库函数问题

请问在使用WINCE下自带的数据库编程的时候,在使用CeCreateDatabaseEx函数的时候,这个函数的两个参数是如何定义的? 我是这样写的 CEDBASEINFO ceDbInfo;                         ...…

查看全部问答>