STM32F1笔记(六)独立看门狗IWDG

发布者:渤海湾最新更新时间:2022-05-27 来源: eefocus关键字:STM32F1  独立看门狗  IWDG 手机看文章 扫描二维码
随时随地手机看文章

STM32F1内置了两个看门狗,独立看门狗IWDG和窗口看门狗WWDG,可以用来检测和解决由软件错误引起的故障。


IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。


STM32的独立看门狗由内部专门的40Khz低速时钟(LSI)驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部RC时钟,而不是准确的40Khz,而是30~60Khz之间的一个可变化的时钟,只是估算的时候以40Khz的频率来计算,看门狗对时间的要求不是很精确,所以时钟有些偏差是可以接受的。


独立看门狗的配置如下:


void IWDG_Init(u8 prer,u16 rlr) 

{

    //取消IWDG_PR和IWDG_RLR的写保护

    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

    //预分频

    IWDG_SetPrescaler(prer);

    //重装载

    IWDG_SetReload(rlr);

    //重载计数值即喂狗

    IWDG_ReloadCounter();

    IWDG_Enable();

}

这里需要注意的是,不需要使能时钟。


其中喂狗时间计算方式为:Tout = ((4*2^prer) * rlr)/40


prer取值范围为0~7

当prer值为4,rlr值为625时,Tout=1000ms,这样只要在1s之内喂狗就不会发生看门狗复位。


需要注意的是,由于看门狗的时钟不精确,所以最后不要太晚也就是太靠近1s的时间喂狗,需要提前一些。


喂狗函数:


void IWDG_Feed(void)

{   

    IWDG_ReloadCounter();    

}


关键字:STM32F1  独立看门狗  IWDG 引用地址:STM32F1笔记(六)独立看门狗IWDG

上一篇:STM32F1笔记(七)WWDG窗口看门狗
下一篇:STM32F1笔记(四)NVIC中断优先级管理

推荐阅读最新更新时间:2024-11-07 10:17

ARM开发(7)基于STM32的独立看门狗
一 独立看门狗原理: 1.1 本实验实现STM32的独立看门狗 1.2 实验思路:理解STM32独立看门狗原理,根据其原理写驱动。 1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真 二 实验步骤: 2.1 wdg.h代码: #ifndef __WDG_H #define __WDG_H #include sys.h void IWDG_Init(u8 prer,u16 rlr); //独立看门狗初始化 void IWDG_Feed(void); //喂狗 #endif 2.2 wdg.c代码(独立看门狗初始化与喂狗): #include wdg.h /*初始化独立看门狗 prer:分频数:0
[单片机]
STM32F1笔记(十三)SPI
SPI:Serial Peripheral interface,串行外围设备接口。 SPI接口一般使用4条线通信: MISO主设备数据输入,从设备数据输出。 MOSI主设备数据输出,从设备数据输入。 SCLK时钟信号,由主设备产生。 从图中可以看出,主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输。寄存器通过MOSI信号线将字节传送给从机,从机也将自己的移位寄存器中的内容通过MISO信号线返回给主机。这样,两个移位寄存器中的内容就被交换。外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来
[单片机]
<font color='red'>STM32F1</font>笔记(十三)SPI
stm32f4的IWDG和WWDG(HAL库版本)
看门狗原理: 单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。 看门狗的作用:就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号) 。 独立看门狗和窗口看门狗的区别(F4版本): 1、相同点 都是为了防止CPU跑飞 2、独立看门狗 根据内部看门狗时钟频率,装载寄存器定一个时间值,比如是1000,那么独立看门狗就会按照时钟频率,从1000开始向下每隔一个时钟周期减1,如果在减到0之前,你用程序代码重新向向下计数器里面写1000(喂狗),那么定时器会重新从1000开始向下递减。如果在减到
[单片机]
stm32f4的<font color='red'>IWDG</font>和WWDG(HAL库版本)
stm32 独立看门狗时钟配置
独立看门狗的时钟源为40k,分频因子最大为256 //初始化独立看门狗 5秒钟 //prer:分频数:0~7(只有低3位有效!) //分频因子=4*2^prer.但最大值只能是256! //rlr:重装载寄存器值:低12位有效,最大只能是4096 //时间计算(大概):Tout=40K/((4*2^prer)*rlr)值. void IWDG_Init(u8 prer,u16 rlr) { IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);/* Register write functions allow dogs*/ IWDG_SetPrescaler(IWDG_Prescaler_25
[单片机]
STM32外部中断和IWDG
实验平台:正点原子战舰开发板 系统:windows 7 64位 编译器:MDK 4.72a 参考例程:ATK串口例程,野火ISO串口例程 外部中断 中断主要分为两种: 1、系统异常中断也可以说的内核异常,这类异常中断有些是不可以控制的,如RESET,NMI,FAULT. 2、外部中断,这些中断都是可以设置的,每个GPIO都可以被设置为中断。 一、NVIC控制器 当要使用中断时候都要对NVIC进行设置 void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct); NVIC_IRQChannel 需要配置的中断线 NVIC_IRQChannelCmd 使能或关闭相应中断向量的
[单片机]
【实验四】独立看门狗实验
一、实验目的 1)了解独立看门狗的; 2)学会使用独立看门狗; 3)通过WK_UP来喂狗,然后通过DS0提示复位状态。 二、STM32独立看门狗简介 单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环, 看门狗电路就是为了避免这种情况的发生。 看门狗的作用就是在一定时间内(通过定时计数器实现) 没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号)。 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确 的 40Khz,而是在 30~60Khz 之间的一个可变化的时钟
[单片机]
STM32F1串口通信总结
1、处理器与外部设备通信的两种方式: 1.并行通信-传输原理:数据各个位同时传输。优点:速度快。缺点:占用引脚资源多。 2.串行通信-传输原理:数据按位顺序传输。优点:占用引脚资源少。缺点:速度相对较慢。 2、串行通信按照数据传送方向,分为: 1.单工:数据传输只支持数据在一个方向上传输 。 2.半双工:允许数据在两个方向上传输,但是在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信; 3.全双工:允许数据同时在两个方向上传输,因此全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。 3、串行通信的通信方式 : 1.同步通信:带时钟同步信号传输
[单片机]
<font color='red'>STM32F1</font>串口通信总结
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved