# stm32-dev-kit **Repository Path**: MagicBude/stm32-dev-kit ## Basic Information - **Project Name**: stm32-dev-kit - **Description**: STM32 开发套件 - 包含 BSP 驱动、设备驱动、测试工程和项目模板的完整开发套件。模块独立,开箱即用,快速扩展。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-03 - **Last Updated**: 2026-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32 Development Kit 🚀 **完整的 STM32 开发套件** - BSP 驱动 + 设备驱动 + 测试工程 + 项目模板 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-STM32-blue.svg)](https://www.st.com/stm32) [![Language](https://img.shields.io/badge/Language-C-green.svg)](https://en.wikipedia.org/wiki/C_(programming_language)) ## ✨ 特点 - 🔧 **BSP 驱动库** - UART, SPI, I2C, ADC, PWM 等完整驱动 - 📱 **设备驱动** - OLED, 传感器, 存储器等常用设备 - 🚀 **测试工程** - 每个驱动都有完整的测试工程 - 📦 **项目模板** - 快速开启新项目的空白模板 - 📚 **详细文档** - 从入门到精通的完整文档 - 🎯 **模块独立** - 每个驱动可单独复制使用 ## 🎯 适用场景 - ✅ 快速开启新的 STM32 项目 - ✅ 学习 STM32 外设驱动开发 - ✅ 作为项目的驱动库基础 - ✅ 参考代码和最佳实践 ## 📦 支持的平台 | 系列 | 状态 | 说明 | |------|------|------| | STM32F1 | 🚧 开发中 | 核心驱动开发中 | | STM32F4 | 📅 计划中 | 即将支持 | ## 📁 项目结构 ``` stm32-dev-kit/ │ ├── README.md # 项目主页 ├── LICENSE # MIT 许可证 ├── CHANGELOG.md # 变更日志 ├── CONTRIBUTING.md # 贡献指南 │ ├── docs/ # 📚 文档 │ ├── README.md # 文档索引 │ ├── guides/ # 使用指南 │ │ └── Quick_Start.md │ ├── design/ # 设计文档 │ │ ├── Project_Design.md │ │ └── Roadmap.md │ ├── development/ # 开发文档 │ │ ├── Coding_Style.md │ │ ├── TODO.md │ │ └── Implementation_Status.md │ └── api/ # API 文档 │ └── uart.md │ ├── drivers/ # 🔧 驱动库 │ ├── stm32f1/ │ │ ├── bsp/ # BSP 层驱动 │ │ │ ├── uart/ # ✅ 已完成 │ │ │ ├── spi/ │ │ │ └── i2c/ │ │ └── devices/ # 设备驱动 │ │ ├── display/ │ │ └── sensor/ │ ├── stm32f4/ # F4 系列(未来) │ └── utils/ # 通用工具(可选) │ ├── projects/ # 🚀 测试工程和项目模板 │ └── stm32f1/ │ ├── template/ # 项目模板 │ ├── test_uart/ # UART 测试工程 │ └── demo_multi/ # 综合示例 │ ├── examples/ # 📖 独立示例代码 │ └── stm32f1/ │ └── uart_examples.c # UART 使用示例 └── tools/ # 🔨 工具脚本 ``` ### 方式 1: 使用项目模板 ```bash # 1. 克隆仓库 git clone https://gitee.com/MagicBude/stm32-dev-kit.git # 2. 复制项目模板 cp -r projects/stm32f1/template/ my_new_project/ # 3. 复制需要的驱动(BSP 与 Drivers 同级) mkdir -p my_new_project/BSP cp -r drivers/stm32f1/bsp/uart/ my_new_project/BSP/ # 4. 开始开发 # 打开 my_new_project/project.uvprojx ``` ### 方式 2: 只使用驱动库 ```bash # 创建 BSP 目录(与 Drivers 同级) mkdir -p my_existing_project/BSP cp -r drivers/stm32f1/bsp/uart/ my_existing_project/BSP/ ``` ### 方式 3: 使用测试工程 ```bash # 直接打开测试工程学习 cd projects/stm32f1/test_uart/ # 打开 project.uvprojx ``` ## 📖 文档 - [快速开始](docs/guides/Quick_Start.md) - [项目设计](docs/design/Project_Design.md) - [开发路线图](docs/design/Roadmap.md) - [代码风格](docs/development/Coding_Style.md) - [贡献指南](CONTRIBUTING.md) ## 🔧 BSP 驱动列表 | 驱动 | 状态 | 功能 | |------|------|------| | UART | ✅ 已完成 | 多实例/中断/printf | | SPI | 📅 计划中 | 主从模式/全双工 | | I2C | 📅 计划中 | 硬件I2C/多实例 | | ADC | 📅 计划中 | 单次/连续/DMA | | PWM | 📅 计划中 | 多通道/频率可调 | | TIMER | 📅 计划中 | 定时中断/微秒精度 | ## 📱 设备驱动列表 | 设备 | 类型 | 状态 | |------|------|------| | OLED SSD1306 | 显示 | 📅 计划中 | | LCD ST7735 | 显示 | 📅 计划中 | | DHT11 | 传感器 | 📅 计划中 | | MPU6050 | 传感器 | 📅 计划中 | | W25Qxx | 存储 | 📅 计划中 | ## 💡 使用示例 ### UART 通信 ```c #include "bsp_uart.h" int main(void) { HAL_Init(); SystemClock_Config(); /* 初始化 UART */ uart_handle_t *uart = uart_init(USART1, 115200); /* 发送数据 */ uart_send_string(uart, "Hello World!\n"); uart_printf(uart, "Counter: %d\n", 123); while (1) { /* 接收数据 */ if (uart_available(uart) > 0) { uint8_t data[32]; uint16_t len = sizeof(data); uart_receive(uart, data, &len); /* 回显 */ uart_send(uart, data, len); } } } ``` ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! 请参考 [贡献指南](CONTRIBUTING.md) ## 📄 许可证 本项目采用 [MIT 许可证](LICENSE) ## 🙏 致谢 - ST Microelectronics - STM32 HAL 库 - 所有贡献者 ## 📮 联系方式 - 项目主页:[Gitee](https://gitee.com/MagicBude/stm32-dev-kit) - 问题反馈:[Issues](https://gitee.com/MagicBude/stm32-dev-kit/issues) --- **Made with ❤️ for STM32 developers**