stm32F4系列MCU,窗口看门狗 WWDG中的bug

本文详细介绍了在STM32F4系列微控制器中使用窗口看门狗(WWDG)时遇到的一个问题,即在启用预喂狗中断后,必须清除SR寄存器中的EWI标志位并加入延时,否则会导致系统不断复位。同时,当系统存在其他中断(如按键中断)时,需要正确处理喂狗操作,否则可能导致系统异常。文中给出了具体的测试代码和解决方案。
摘要由CSDN通过智能技术生成
stm32F4系列MCU,窗口看门狗 WWDG中的bug。


1. 如果使能预喂狗中断,那么必须满足如下两点
(1)在开启wwdg中断之前,需要先将 SR 寄存器中的EWI标志位清零,否则会看门狗会不断复位
(2)在wwdg_irq里加上一小段延时,否则看门狗会不断复位
2. 如果系统里还有其他中断,比如按键,在按键中断中设置一个变量,这个变量在wwdg_isr中读取,来决定是否停止喂狗
这样按下按键以后,系统直接就飞了。
这里给出一个测试代码。 如下所示。

/**
  ******************************************************************************
  * @file    USART/USART_Printf/main.c 
  * @author  MCD Application Team
  * @version V1.0.1
  * @date    13-April-2012
  * @brief   Main program body
  ******************************************************************************
  * @attention
  *
  * <h2><center>© COPYRIGHT 2012 STMicroelectronics</center></h2>
  *
  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
  * You may not use this file except in compliance with the License.
  * You may obtain a copy of the License at:
  *
  *        http://www.st.com/software_license_agreement_liberty_v2
  *
  * Unless required by applicable law or agreed to in writing, software 
  * distributed under the License is distributed on an "AS IS" BASIS, 
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include "stm32f4xx.h"
#include "stm324xg_eval.h"
#include <stdio.h>

/** @addtogroup STM32F4xx_StdPeriph
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值