STM32F0x2 IWDG(独立看门狗)

2019-11-12来源: eefocus关键字: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;

}


关键字:STM32F0x2  IWDG  独立看门狗 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479730.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32F1小白系列之四、独立看门狗(IWDG)
下一篇:stm32 低功耗下使用看门狗(不喂狗)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

详细分析stm32f10x.h
/**这里是STM32比较重要的头文件   ******************************************************************************  * @file    stm32f10x.h                  ST 标准的头文件  * @author  MCD Application Team 
发表于 2019-11-28
STM32f10x.h中出现“#ifdef __cplusplus extern "C" { #endif”的定义
#ifdef  __cplusplusextern "C" {#endif// 代码#ifdef  __cplusplus}#endif这个是什么意思呢?一开始看到这个也很茫然。上网查找了一些资料。主要作用:为了在C++代码中调用用C写成的库文件,就需要用extern"C"来告诉编译器:这是一个用C写成的库文件,请用C的方式来链接它们。原因: C++支持函数重载,而C是不支持函数重载的,两者语言的编译规则不一样。编译器对函数名的处理方法也不一样。假设有这个一个函数原型:void func(int a,int b){  //code  }可能在C
发表于 2019-11-23
u8,u16,u32和uint8_t,uint16_t,uint32_t的含义
;   /* Read Only */Exported_types<Stm32f10x>类型定义 typedef int32_t  s32 typedef int16_t  s16 typedef int8_t  s8 typedef const int32_t  sc32 typedef const int16_t  sc16 typedef const int8_t  sc8 typedef __IO int32_t  vs32 typedef __IO
发表于 2019-11-22
STM32F103x8B PB3、PB4、PA14、PA15引脚作为普通IO口使用
STM32的PB3、PB4、PA14、PA15引脚可以在使用ISP烧录的情况下释放出来,作为普通IO口使用。初始化代码如下:void Gpio_init(void)      {       GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE
发表于 2019-10-18
STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)
)本文讲述的知识点相对较多,若初次学习STM32的ADC转换功能,可以参考我另外一篇相对简单一点的文章:STM32F10x_ADC1单通道单次采集关于本文的更多详情请往下看。Ⅱ、实例工程下载笔者针对于初学者提供的例程都是去掉了许多不必要的功能,精简了官方的代码,对初学者一看就明白,以简单明了的工程供大家学习。笔者提供的实例工程都是在板子上经过多次测试并没有问题才上传至360云盘,欢迎下载测试、参照学习。提供下载的软件工程是基于Keil(MDK-ARM) V5版本、STM32F103ZE芯片,但F1其他型号也适用(适用F1其他型号: 关注微信,回复“修改型号”)。STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)实例
发表于 2019-09-18
STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)
[HAL库学习之路]5.IWDG-独立看门狗
记录自己的STM32的HAL库的学习之路,不定期更新…一、Pinout二、Clock Configuration三、Configuration配置GPIO 配置IWDG 四、Generate Code代码 主函数首先点亮两个LED 1S后熄灭,在主循环里检测按键输入进行喂狗,如果在4s内进行喂狗,则1个LED闪烁,否则程序复位。int main(void){  /* USER CODE BEGIN 1 */  /* USER CODE END 1 */  /* MCU Configuration----------------------------------------
发表于 2019-11-16
[HAL库学习之路]5.IWDG-独立看门狗
小广播
何立民专栏 单片机及嵌入式宝典

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

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