历史上的今天
返回首页

历史上的今天

今天是:2024年12月11日(星期三)

正在发生

2018年12月11日 | STM32F4的看门狗实现

2018-12-11 来源:eefocus

为了防止程序出现未知的停止运行。我们有必要检测这种状态并让单片机重新复位。


因此需要知道自己编写的程序运行时间,才能合理的设置看门狗进行喂狗的时间。


程序运行的时间要小于看门狗设置的时间。具体是设置一个定时器,重载值的大小可以设置结合分频系数计算定时器溢出的时间,当定时器溢出时,还没有重新加载值(也就是喂狗),则认为程序卡死,单片机重新复位。


进行如下的操作步骤:


1.查看系统时钟




2.程序运行的时间 首次为大约7s 以后每次0.12495s


运行时间的查看步骤:


使用的是STlinkv2下载器打开如下的界面选择选择setting



点击Trace:



修改Core为本程序使用的系统时钟频率168M 打勾Trace Enable



点击完成!


查看运行时间,进入仿真调试。设置断点在需要查看程序运行时间的部分,点击全速运行,下面的窗口为t1 t2 选择使用查看的时间t1 查看两次时间差即可



参考:https://wenku.baidu.com/view/c9e97c92f46527d3240ce0e8.html


3.看门狗时间 计算


在程序中的配置:


A 取消寄存器写保护


IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 


B设置独立看门狗的预分频系数和重装载值 


配置两个寄存器的值即可


void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); //设置 IWDG 预分频值 

void IWDG_SetReload(uint16_t Reload); //设置 IWDG 重装载值 


4.程序运行的时间要小于看门狗的时间


看门狗设置为2s,在程序的多个地方喂狗。


5 重载计数值喂狗(向 IWDG_KR 写入 0XAAAA) 


IWDG_ReloadCounter(); 


6.启动看门狗,在程序初始化时启动即可


IWDG_Enable()


推荐阅读

史海拾趣

General Electric Company公司的发展小趣事
在电力电子变换器中,用于实现电压、电流的精确控制。
DEWALT公司的发展小趣事

在第二次世界大战期间,DEWALT公司面临了巨大的挑战。由于战争的影响,许多原材料和零部件供应中断,生产受到严重影响。然而,DEWALT公司凭借自身的技术实力和创新能力,成功克服了这些困难。公司还积极为军队提供所需的电动工具产品,为战争胜利做出了贡献。这些经历使DEWALT公司更加坚定了技术创新和品质控制的信念。

Displaytech公司的发展小趣事

Displaytech公司成立于1989年,作为一家LCD模块供应商在香港崭露头角。当时,液晶显示技术正逐渐崭露头角,Displaytech凭借其敏锐的市场洞察力和技术实力,迅速在市场中占据了一席之地。公司初期专注于小型到中型LCD的制造,为工业、消费和医疗行业的客户提供高质量的产品和技术支持。

Equator Technologies公司的发展小趣事

在发展过程中,Equator始终注重拓展国际市场。通过与全球各地的合作伙伴建立紧密的合作关系,Equator将其产品和服务推向了世界各地。特别是在亚洲市场,Equator凭借其卓越的技术实力和优质的产品赢得了众多客户的青睐。同时,公司还积极参加国际展会和交流活动,与全球同行进行技术交流和合作,不断提升自身的国际竞争力。

DALLAS公司的发展小趣事

随着全球电子市场的不断扩大和变化,Dallas公司积极实施全球化战略布局。公司在全球范围内设立研发中心和生产基地,以便更好地服务全球客户。同时,Dallas公司还加强与国际知名企业的合作与交流,共同推动半导体技术的创新和应用。这种全球化战略布局不仅增强了Dallas公司的国际竞争力,也为公司的长期发展提供了广阔的空间。

博流(Bouffalo Lab)公司的发展小趣事

自成立以来,博流公司一直致力于物联网、车联网和智能穿戴领域集成电路芯片的研发。经过不断的技术创新和突破,公司成功推出了多款具有竞争力的芯片产品,广泛应用于智能家居、智慧城市、智能制造等领域。同时,博流还注重与物联网生态合作伙伴的紧密合作,共同提供端到端、边缘计算到云的整体解决方案,为客户创造价值。

问答坊 | AI 解惑

最坏分析

      最坏分析其实就是极端值分析:让你知道怎么样才会出问题。 Assure acceptable operation throughout the entire product life cycleunder the most unfavorable combination of anticipated conditions   &n ...…

查看全部问答>

求助:wince如何创建没有标题的窗口

RT~~~希望创建一个没有标题栏的窗口,createwindowex中可以通过参数设置么?没有找到好的方法~~~~求讨教~…

查看全部问答>

这里有玩Quartus II的伐? 用VHDL编过计数器的帮忙

先声明 偶才接触这东西10来天的样子 不怎么熟练 外加这边的人看上去似乎都是专业的= = 最好能给点指导 或者能给个计数器的实例看下 我一般情况下就能搞懂了 以下这段实验用的东西为啥通不过编译呢? LIBRARY ieee; USE ieee.std_logic_1164.all ...…

查看全部问答>

如何查看编译器中c库包含哪些函数

如题,比如有个函数atoi(字符串转化为整形)相应的头文件我也包含过了。 比如我在MDK编译器下测试该函数发现它的输出一直为0,这是不对的。 难道在c库中这个函数是个空的函数,应该是定义且声明过,要不然编译应该报错。 编译器的c库中有的函数包 ...…

查看全部问答>

ppcboot的编译问题

我在编译编译PPCBOOT的时候报错,提示:needed by \'.depend\'.请问这是什么问题?.depend是什么东西?请高手指教!!…

查看全部问答>

设计通信协议时遇到的问题

毕业设计做的是主从分布式系统,涉及通信协议方面的事情。 报文头分别设置为5AA5H和6776H 这两个双字节数是老师告诉我常用的,但是并未跟我讲明白为何要用这两个双字节数。 写论文的时候,我说是因为其无对应的ASC码,老师说不对。 我说是因为 ...…

查看全部问答>

stm32复位后端口是高阻态吗?

                                 用了STM32F103C6T6,通过一个端口加上缓冲芯片74LV07,低电平驱动光藕。发现有时上电过程中光藕带的负载导通一下。 ...…

查看全部问答>

传说中的“?”——想了解吗?

            热电偶维护检修问题如何解决 根椐中国家标准规定及工业用热电偶维护检修规程,热电偶维护检修中遇到的问题应有以下处理 方法,标准规定了工业用热电偶的维护、检修、投运及其安全 ...…

查看全部问答>

关于1个VHDL 编译错误

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE ieee.std_logic_arith.all; USE ieee.std_logic_unsigned.all; USE ieee.numeric_std.ALL; LIBRARY lpm; USE lpm.lpm_components.all; ENTITY test IS         GENERI ...…

查看全部问答>