# 仓库4 **Repository Path**: xxrl2018/warehouse-4 ## Basic Information - **Project Name**: 仓库4 - **Description**: 正点原子 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-25 - **Last Updated**: 2026-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32F1 系列示例项目仓库 本项目包含多个 STM32F1 系列微控制器的示例程序,基于 STM32CubeMX 和 HAL 驱动库开发。 ## 项目简介 本仓库包含以下三个示例项目: | 项目 | 芯片型号 | 说明 | |------|---------|------| | STM32CubeTEST | STM32F103ZE | 基础示例工程 | | IWDG | STM32F103VE | 独立看门狗示例 | | WWDG | STM32F103VE | 窗口看门狗示例 | ## 硬件要求 - STM32F1xx 系列开发板 - J-Link 或 ST-Link 调试器 - 串口调试工具(用于串口输出) ## 软件要求 - Keil MDK-ARM v5.x 或更高版本 - STM32CubeMX (用于重新配置工程) ## 目录结构 ``` warehouse-4/ ├── 2.STM32CubeTEST/ # 基础示例工程 │ ├── STM32CubeTEST/ # 代码目录 │ │ ├── Inc/ # 头文件 │ │ ├── Src/ # 源文件 │ │ └── Drivers/ # 驱动库 │ └── MDK-ARM/ # Keil 工程 ├── 7.IWDG/ # 独立看门狗示例 │ ├── Drivers/ # 驱动源码 │ ├── User/ # 用户代码 │ └── Projects/ # 工程文件 ├── 8.WWDG/ # 窗口看门狗示例 │ ├── Drivers/ # 驱动源码 │ ├── User/ # 用户代码 │ └── Projects/ # 工程文件 └── LICENSE # 许可证 ``` ## 各项目说明 ### 1. STM32CubeTEST 基础示例工程,展示 GPIO、基本外设初始化等基础功能。 ### 2. IWDG - 独立看门狗 独立看门狗(IWDG)是一种可编程的定时器,当系统软件出现故障无法喂狗时,会自动触发复位。 **主要功能:** - 看门狗初始化配置 - 定时喂狗防止系统复位 - LED 状态指示 **API 函数:** ```c void iwdg_init(uint8_t prer, uint16_t rlr); // 初始化IWDG void iwdg_feed(void); // 喂狗 ``` ### 3. WWDG - 窗口看门狗 窗口看门狗(WWDG)比独立看门狗更灵活,需要在指定时间窗口内喂狗,过早或过晚都会触发复位。 **主要功能:** - 窗口看门狗初始化 - 早期唤醒中断处理 - LED 状态指示 **API 函数:** ```c void wwdg_init(uint8_t tr, uint8_t wr, uint32_t fprer); // 初始化WWDG void HAL_WWDG_EarlyWakeupCallback(); // 早期唤醒回调 ``` ## 编译说明 1. 使用 Keil MDK-ARM 打开对应项目的 `.uvprojx` 工程文件 2. 选择目标芯片型号 3. 点击 Build (F7) 编译项目 4. 使用调试器下载到开发板 ## 注意事项 - IWDG 和 WWDG 一旦使能无法关闭,只能通过复位系统禁用 - 喂狗时需要在超时时间内完成,否则系统会复位 - 合理设置超时时间,避免正常程序执行被看门狗复位 ## 许可证 本项目基于 ST 官方 HAL 库和 CMSIS 开发,遵循 ST 公司的许可条款。 ## 更新日志 - 初始版本:包含三个 STM32F1 示例项目