2023版 STM32实战8 独立看门狗(IWDG)

IWDG简介

STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障。

说人话就是能解决程序跑飞的问题。

编写代码思路

-1- 使用这个功能必须解除写保护
-2- IWDG使用的是低速内部时钟 (LSI)

-3- 分频系数和定时时间

代码编写(可直接拷贝使用)

c 复制代码
#include "stm32f10x.h"
#include "usart.h"
#include "delay.h"

void IWDG_CFG(void)
{
	
	//判断是不是独立看门狗复位
	if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
	{
		printf("IwDG RESET\r\n");
		RCC_ClearFlag();
		
	}
	
	
	//打开低速内部时钟
	RCC_LSICmd(ENABLE);
	//等待时钟平稳
	while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET);
	//打开写保护
	IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
	//设置分频
	IWDG_SetPrescaler(IWDG_Prescaler_32);
	//设置重装值
	IWDG_SetReload(128);
	//喂一次狗
	IWDG_ReloadCounter();
	//开启看门狗
	IWDG_Enable();

}


 int main(void)
 {	
	delay_init();
	uart_init(115200);
	IWDG_CFG();
	while(1)
	{
		delay_ms(110);
		IWDG_ReloadCounter();
	}		
	
	
	
 }

工程获取

三连加关注后点击头像获取

相关推荐
Hello_Embed8 分钟前
嵌入式上位机开发入门(二十四):Paho MQTT 嵌入式客户端源码分析
网络·单片机·网络协议·tcp/ip·嵌入式
-Springer-9 小时前
STM32 学习 —— 个人学习笔记11-1(SPI 通信协议及 W25Q64 简介 & 软件 SPI 读写 W25Q64)
笔记·stm32·学习
yrx02030710 小时前
串口空闲中断+DMA接收+环形缓冲区 && 串口DMA发送+环形缓冲区
stm32·单片机
LCG元11 小时前
STM32实战:基于STM32F103的4G模块(EC20)HTTP通信
stm32·嵌入式硬件·http
送外卖的CV工程师12 小时前
STM32+Makefile编译+OpenOCD 烧录调试
stm32·单片机·嵌入式硬件·makefile·调试·烧录·openocd
豆包公子12 小时前
程序流监控:AUTOSAR CP 功能安全在裸机 MCU 上的实现(理论篇)
运维·单片机·嵌入式硬件·安全·车载系统·autosar
编程之升级打怪12 小时前
单片机SPI硬件接口的要点
嵌入式硬件
Aaron_dw14 小时前
PHY Eye Monitor 全栈技术说明书
嵌入式硬件
NQBJT16 小时前
嵌入式从零开始(第十二篇):调试与工具链 —— 从 IDE 到逻辑分析仪
ide·stm32·单片机·嵌入式硬件·c#
广州灵眸科技有限公司17 小时前
瑞芯微(EASY EAI)RV1126B 网络摄像头方案
开发语言·网络·科技·嵌入式硬件·物联网