看门狗寄存器c语言代码_「正点原子NANO STM32F103开发板资料连载」第十一章 看门狗实验...

这篇博客介绍了如何在STM32F103 NANO开发板上使用独立看门狗(IWDG),包括原理、STM32CubeMX配置、C语言代码实现和实验验证。通过HAL库,详细阐述了初始化IWDG、喂狗操作,并提供了初始化函数和喂狗函数的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)实验平台:【正点原子】 NANO STM32F103 开发板

2)摘自《正点原子STM32 F1 开发指南(NANO 板-HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子

47123e2f2305c301460818dad31ebb4f.png

第十一章 独立看门狗(IWDG)实验

这一章,我们将向大家介绍如何使用 STM32 的独立看门狗(以下简称 IWDG)。STM32内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG)。这一章我们只介绍独立看门狗,窗口看门狗将在下一章介绍。在本章中,我们将通过按键 KEY_UP 来喂狗,然后通过 DS0 提示复位状态。本章分为如下几个部分:

11.1 STM32 独立看门狗简介

11.2 硬件设计

11.3 软件设计

11.4 11.1 STM32 独立看门狗简介

STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 40Khz,而是在 30~60Khz 之间的一个可变化的时钟,只是我们在估算的时候,以 40Khz 的频率来计算,看门狗对时间的要求不是很精确,所以,时钟有些偏差,都是可以接受的。首先我们得讲解一下看门狗的原理。这个百度百科里面有很详细的解释。我们总结一下:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号)。下面我们在了解几个与独立看门狗相关联的寄存器之后讲解怎么通过库函数来实现配置。首先是键值寄存器 IWDG_KR,该寄存器的各位描述如图 11.1.1 所示:下载验证

11.5 STM32CubeMX 配置 IWDG

f0932d397fe2e7ffce7930008d8aefdc.png

图 11.1.1 IWDG_KR 寄存器各位描述

在键值寄存器(IWDG_KR)中写入 0xCCCC,开始启用独立看门狗;此时计数器开始从其复

位值 0xFFF 递减计数。当计数器计数到末尾 0x000 时,会产生一个复位信号(IWDG_RESET)。

无论何时,只要键寄存器 IWDG_KR 中被写入 0xAAAA, IWDG_RLR 中的值就会被重新加载

到计数器中从而避免产生看门狗复位 。

IWDG_PR 和 IWDG_RLR 寄存器具有写保护功能。要修改这两个寄存器的值,必须先向

IWDG_KR 寄存器中写入 0x5555。将其

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值