# STM32_Project **Repository Path**: cui-qinghe/STM32_Project ## Basic Information - **Project Name**: STM32_Project - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-12 - **Last Updated**: 2026-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32_Project STM32 开发项目合集。一个子目录 = 一个独立可编译的工程,互不依赖。 ## 项目列表 | 目录 | 芯片 | 内容 | 说明文档 | |---|---|---|---| | [`温湿度检测/`](温湿度检测/) | STM32F103C8T6 | DHT11 + SSD1306 OLED + FreeRTOS 温湿度监测,含告警判定、蜂鸣器输出、表情反馈,以及串口网关 + 微信小程序(实时曲线、天气预报,并回写 OLED 第 2 页) | [README(含接线)](温湿度检测/README.md) · [架构](温湿度检测/docs/architecture.md) · [网关](温湿度检测/gateway/README.md) · [小程序](温湿度检测/miniprogram/README.md) | ## 目录约定 每个项目目录都是**自包含**的:有自己的 `.uvprojx` 工程文件、源码、文档和工具脚本, 单独复制出去也能编译,不依赖仓库根目录的任何东西。 ``` <项目名>/ ├── Project.uvprojx Keil MDK 工程(双击即可打开) ├── App/ Service/ 应用层与业务层 ├── Driver/ Bsp/ 驱动层与板级层 ├── Interface/ 层间契约(纯头文件) ├── Start/ Library/ 启动文件与 ST 标准外设库 ├── docs/ 架构说明(接线表在各项目 README 里,不单独出图) ├── gateway/ (可选)电脑端网关:串口 → WebSocket,给小程序供数 ├── miniprogram/ (可选)微信小程序:实时曲线与预报 ├── tools/ 辅助脚本(注册工程、分层校验、PC 端单测) └── README.md 该项目的编译、烧录、排错 ``` ## 环境要求 | 工具 | 版本 | 用途 | |---|---|---| | Keil MDK 5 | **AC5 编译器**(ARMCC v5) | 全部项目按 AC5 验证;换 AC6 需重新验证 | | ST-Link | V2 或以上 | 下载调试 | | Python 3 | 3.8+ | `tools/` 下的脚本、`gateway/` 网关(**网关不需要 pip 装依赖**) | | 微信开发者工具 | 最新稳定版 | 只在要改小程序时需要 | ## 关于编译产物 `.gitignore` 排除了 `Objects/`、`Listings/` 等中间文件——一个工程的 `.o` 和 `.crf` 就能到 34 MB,而源码只有 3 MB 左右,中间文件进仓库只会让 clone 变慢。 **唯一例外是 `Objects/Project.hex`**:最终固件约 18 KB,保留它是为了可以直接 下载烧录,不用为了拿一个 hex 去装 Keil。 ## 新增项目 在仓库根目录新建子目录,放入完整工程即可,无需改根目录任何配置。提交前建议确认: ```bash git status --short # 确认没有被忽略规则漏掉的产物 ``` 如果新项目不是 Keil 工程(比如 CubeIDE / CMake),把它的产物目录加进 `.gitignore`。 ### 每个项目的 README 至少要有这五段 不是为了写文档,是因为缺任何一段,别人(包括三个月后的你)就得靠猜或者翻代码: | 段落 | 缺了会怎样 | |---|---| | **物料清单** | 不知道买什么、买错型号(DHT11 模块有带/不带板载上拉两种) | | **逐根接线表** | 接线全靠照片,换块板子就得重推一遍 | | **编译 + 烧录** | 打不开、编不过(宏、C99、AC5 这些坑) | | **上电应看到的现象** | 分不清"正常但没数据"和"坏了" | | **变更记录** | 不知道当前这版加过什么,回退时无从下手 | 接线表的引脚号必须和代码里的 `board.h` 一致,**两处一起改、一起提交**。 单靠一张接线图不行——图不能 diff,改一个引脚就得重画。 ## 提交规范 ``` <项目名>: <做了什么> 例: 温湿度检测: 告警加回差,抑制阈值抖动 温湿度检测: 新增蜂鸣器输出(PB5) ``` 一个提交只改一个项目,这样 `git log -- 温湿度检测/` 能直接看出该项目的演进。 **改功能的提交里带上 README 的同步修改**,不要留"下次一起补"。