ARM开发(7)基于STM32的独立看门狗

本文介绍了基于STM32的独立看门狗原理,并详细阐述了实验步骤,包括wdg.h和wdg.c的代码实现,以及在main.c中如何设置独立看门狗并结合蜂鸣器进行检测效果的实现。最后提到了接线测试环节。

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

             基于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~7(只有低3位有效!)
分频因子=4*2^prer.但最大值只能是256!
rlr:重装载寄存器值:低11位有效.
时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).
*/
void IWDG_Init(u8 prer,u16 rlr) 
{   
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);  //使能对寄存器IWDG_PR和IWDG_RLR的写操作
    IWDG_SetPrescaler(prer);  //设置IWDG预分频值;
    IWDG_SetReload(rlr);  //设置IWDG重装载值
    IWDG_ReloadCounter();  //按照IWDG重装载寄存器的值重装载IWDG计数器
    IWDG_Enable();  //使能IWDG
}
//喂独立看门狗
void IWDG_Feed(void)
{   
    IWDG_ReloadCounter();//reload               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值