STM32 iwdg独立看门狗 F407寄存器

看门狗介绍:

特点:

看门狗能检测CPU是否正常运行

CPU正常工作,看门狗不产生任何事件

CPU不正常工作,看门狗会触发,产生复位程序

本质:

看门狗本质是一个定时器

当计数器计数到0之前,需要重新给看门狗赋值,俗称 喂狗;

若计数器计数到0,则芯片会产生一次 复位。

分类:

看门狗由分为独立看门狗和窗口看门狗

一般常用的是独立看门狗,窗口看门狗很少用到

使用:

一般使用在程序要求稳定高的产品

在非正常情况下导致程序死机,需要重启

时钟源:

由内部低速时钟LSI 专门 给独立看门狗提供时钟 32KHz

窗口看门狗挂载在APB2总线

注意:

看门狗一旦启动,则不能停止
LSI时钟有30~60KHz的范围跳变

IWDG初始化函数:

/***************************************

*函数名 :iwdg_init
*函数功能 :IWDG独立看门狗初始化
*函数参数 :u16 ms
*函数返回值 :无
*函数描述 :
****************************************/
void iwdg_init(u16 ms)
{
/*IWDG时钟源配置*/
//开启LSI振荡器
RCC->CSR |= (1<<0);
//等待LSI振荡器就绪
while(!(RCC->CSR & (1<<1)));
/*IWDG控制器配置*/
//解除寄存器写保护
IWDG->KR = 0x5555;
//等待PVU为0可以更新重载值
while(IWDG->SR & (1<<0));
//设置分频 --- 32分频
IWDG->PR |= (3<<0);
//设置重载值
IWDG->RLR = 1*ms - 1;
//初始化喂狗
IWDG->KR = 0xAAAA;
//启动看门狗 同时激活写保护
IWDG->KR = 0xCCCC;
}

IWDG_SR 状态寄存器:

相关推荐
崇山峻岭之间2 分钟前
小华芯片HC32F460之TMR6输出互补PWM
单片机·嵌入式硬件
Freak嵌入式14 小时前
MCU 低功耗模式解析:时钟门控、电源门控、深度休眠
人工智能·python·单片机·嵌入式硬件·开源·依赖倒置原则·micropython
国科安芯14 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
躺不平的理查德15 小时前
STM32时钟树(Clock Tree)
stm32·单片机·嵌入式硬件
Javenwww16 小时前
STM32中DMA的使用——串口数据的DMA传输
单片机
qq_4017004116 小时前
经典的电压基准源电路
单片机·嵌入式硬件
茯苓gao17 小时前
嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析
笔记·嵌入式硬件·学习
西安景驰电子17 小时前
PCIe 授时卡原理及应用
运维·服务器·windows·单片机·嵌入式硬件·fpga开发
派勤电子19 小时前
5G物联网网关工控主板选型指南(超小尺寸工业级嵌入式硬件解决方案)
嵌入式硬件·工业网关·工控主板·工控主板选型·嵌入式工控主板·5g物联网网关·超小尺寸工控主板
&Hello Code19 小时前
2.一套可落地的 STM32 六层架构:基础工程框架搭建
stm32·嵌入式硬件·架构