实验原理: STM32内部包含独立看门狗,通过看门狗可以监控程序远行,程序运行错误时, 未在规定时间内喂狗,自动复位ARM.本实验通过按键按下,停止喂狗,制造程序运行 错误,从而产生复位. 核心代码: int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Re…
一,独立看门狗 二,独立看门狗的时钟源 独立看门狗拥有自己的时钟源,不依赖PLL时钟输出的分频信号,能够独立运行,这样子的好处就是PLL假如受到干扰, 导致运行异常,独立的看门狗还能正常地进行工作,如果没有正常的喂狗动作,就复位CPU. 三.程序设计 1. 添加复位检测代码,有助于观察当前工作的可靠性 /* Check if the system has resumed from IWDG reset,检查当前复位是否有独立看门狗导致 */ if (RCC_GetFlagStatus(R…
独立看门狗步骤: l 取消寄存器写保护: n IWDG_WriteAccessCmd(); l 设置独立看门狗的预分频系数,确定时钟: n IWDG_SetPrescaler(); l 设置看门狗重装载值,确定溢出时间: n IWDG_SetReload(); l 使能看门狗 n IWDG_Enable(); l 应用程序喂狗: n IWDG_ReloadCounter(); l 溢出时间计算: n Tout=((4×2^prer) ×rlr) /40 (M3)时钟为LSI 40KHZ 源码:…
实验原理: STM32内部包含窗口看门狗,通过看门狗可以监控程序运行,程序运行错误时,未在 规定时间喂狗(提前或超时),自动复位ARM,本实验通过按键按下,停止喂狗,从而产 生复位. 核心代码: int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset…