STM32F0x2 IWDG(独立看门狗)

单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。

看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器
的自动复位重启(发送复位信号)。 

以下为stm32f042单片机独立看门狗相关代码:

/**********************************************************
*函数描述:初始化独立看门狗,timeout为1s
*函数:void IWDG_Init(unsigned char usb_sw) 
*参数:无
*作者:
*日期:
***********************************************************/
void IWDG_Init(void)
{
  /* Set counter reload value to obtain 250ms IWDG TimeOut.
  Counter Reload Value = 1000ms/IWDG counter clock period
  = 1000ms / (128/LSI)
  = LsiFreq/128
  */
  IWDG->KR = 0x5555;  //使能对寄存器写操作
  IWDG->PR = 0x05;    //设置预分频为128分频
  IWDG->KR = 40000/128;  //设置重装载值
  IWDG->KR = (uint16_t)0xAAAA; //重装载计数器
  IWDG->KR = (uint16_t)0xCCCC;  //使能看门狗
}

/* 喂狗函数  */
void IWDG_ReloadCounter(void)
{
  IWDG->KR = (uint16_t)0xAAAA;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值