# stm32-drivers **Repository Path**: MagicBude/stm32-drivers ## Basic Information - **Project Name**: stm32-drivers - **Description**: 一个跨系列、模块化、高性能的STM32微控制器驱动库。 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-25 - **Last Updated**: 2025-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: stm32, Drivers ## README # STM32 驱动库 一个**模块化、可移植、自包含**的 STM32 系列驱动库。致力于提供高质量、易集成的硬件驱动实现。 ## 📦 当前支持 | 系列 | 模块 | 状态 | |------|------|------| | STM32F1 | I2C | ✅ v1.0 完成 | | STM32F1 | UART | ✅ v1.0 完成 | | STM32F4 | I2C | ✅ v1.1 完成 | | STM32F4 | UART | ✅ v1.0 完成 | | STM32G0 | I2C | ✅ v1.2 完成 | | STM32G0 | UART | ✅ v1.0 完成 | ## 🎯 设计理念 - **模块自包含**:每个驱动模块可独立拷贝到任何工程使用,无需外部依赖 - **跨系列一致**:相同的 API 和数据类型,便于不同 STM32 系列之间移植 - **配置驱动**:通过宏定义灵活配置,无需修改源码 - **完整文档**:每个模块配套使用说明、移植指南、示例工程 ## 📁 目录结构 ``` stm32-drivers/ ├─ drivers/ │ ├─ stm32f1/ # STM32F1 系列驱动库 │ │ ├─ inc/ # 头文件 │ │ ├─ src/ # 源文件 │ │ ├─ config/ # 配置文件 │ │ └─ docs/ # 模块文档 │ ├─ stm32f4/ # STM32F4 系列驱动库 │ └─ stm32g0/ # STM32G0 系列驱动库 ├─ examples/ # 示例工程 │ ├─ i2c/ │ │ ├─ i2c_eeprom_f1/ # F1 EEPROM 示例 │ │ ├─ i2c_eeprom_f4/ # F4 EEPROM 示例 │ │ └─ i2c_eeprom_g0/ # G0 EEPROM 示例 │ └─ uart/ │ ├─ uart_demo_f1/ # F1 UART 演示工程 │ ├─ uart_demo_f4/ # F4 UART 演示工程 │ └─ uart_demo_g0/ # G0 UART 演示工程 ├─ docs/ # 项目文档 └─ README.md ``` ## 🚀 快速开始 ### 查看示例工程 **I2C 示例**: - **STM32F1**:`examples/i2c/i2c_eeprom_f1/` - **STM32F4**:`examples/i2c/i2c_eeprom_f4/` - **STM32G0**:`examples/i2c/i2c_eeprom_g0/` **UART 示例**: - **STM32F1**:`examples/uart/uart_demo_f1/` - 轮询/中断/DMA/printf 演示 - **STM32F4**:`examples/uart/uart_demo_f4/` - 轮询/中断/DMA/printf 演示 - **STM32G0**:`examples/uart/uart_demo_g0/` - 轮询/中断/DMA/printf 演示 打开对应的 Keil 工程,编译并下载到开发板。 ### 移植到自己的工程 参考各模块的**移植指南**文档,按步骤拷贝驱动文件并配置 Keil 工程。 ## 📖 文档 - **[开发规范](docs/stm32_drivers_development_guide.md)** 编码风格、注释规范、API 设计原则 - **I2C 驱动文档** - [STM32F1 I2C](drivers/stm32f1/docs/stm32_i2c_f1.md) - 使用说明与 API 文档 - [STM32F4 I2C](drivers/stm32f4/docs/stm32_i2c_f4.md) - 使用说明与 API 文档 - [STM32G0 I2C](drivers/stm32g0/docs/stm32_i2c_g0.md) - 使用说明与 API 文档 - **UART 驱动文档** - [STM32F1 UART](drivers/stm32f1/docs/stm32_uart_f1.md) - 使用说明与 API 文档 - [STM32F4 UART](drivers/stm32f4/docs/stm32_uart_f4.md) - 使用说明与 API 文档 - [STM32G0 UART](drivers/stm32g0/docs/stm32_uart_g0.md) - 使用说明与 API 文档 ## 🛠️ 开发环境 - **IDE**:Keil MDK-ARM v5.x - **工具**:STM32CubeMX - **编译器**:ARM Compiler v5.x / v6.x ## 许可证 MIT License - 详见 [LICENSE](LICENSE) --- **当前版本**:v1.0-uart-g0