CIU32 IWDG — 独立看门狗复位

CIU32 CIU32F003_STDLib V1.0.3 IWDG 独立看门狗复位 示例教学

IWDG — 独立看门狗复位

固件库: CIU32F003_STDLib V1.0.3
芯片: CIU32
源文件: CIU32/CIU32F003_STDLib_V1.0.3/Projects/IWDG/IWDG_Reset/Source/main.c


功能简介

本示例演示看门狗(Watchdog)功能。看门狗是防止程序跑飞的安全机制——如果程序没有在规定时间内喂狗,MCU 会自动复位。

完整代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "main.h"

int main(void)
{
    /* ϵͳʱ */
    system_clock_config(); 

    /* ʼLED */
    gpio_init(); 

    /* Systickʼ */
    std_delay_init();

    /* IWDGʼ */
    iwdg_init();

    while(1)
    {
        /* תLED״̬ */
        std_gpio_toggle_pin(LED_GPIO_PORT, LED_PIN);

        /* ʱ1500ms */
        std_delayms(1500);

        /* дֵ */
        std_iwdg_refresh();
    }
}

代码讲解

系统时钟初始化:配置 MCU 的主频和时钟树。不同芯片的时钟配置不同,一般由工具生成。

GPIO 配置:设置引脚为输出/输入模式,选择推挽/开漏输出,配置上拉/下拉。

实验现象

  • 正常喂狗时程序持续运行
  • 停止喂狗后 MCU 自动复位,LED 闪烁一下
世界是你们
使用 Hugo 构建
主题 StackJimmy 设计