# project_demo **Repository Path**: Petrkchor/project_demo ## Basic Information - **Project Name**: project_demo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-26 - **Last Updated**: 2025-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ```markdown # Project Demo 基于 FreeRTOS 的 STM32F4xx 系统,该项目实现了多传感器采集与执行器控制的完整框架,包含日志系统、外壳命令解析和硬件抽象层。 ## 功能特性 - 多线程任务调度(FreeRTOS) - 传感器数据采集(SHT20 温湿度、AP3216C 光感) - 执行器控制(LED、风扇) - 可扩展的硬件抽象层(HAL) - 完整的日志记录(EasyLogger) - 命令外壳(Lshell) ## 硬件平台 - STM32F407IGHx MCU - UART6 用于外壳交互 - I2C1 连接 AP3216C 光感 - SPI2 可扩展接口 - TIM3 用于系统定时 - GPIO 支持 LED 与风扇控制 ## 软件架构 - **Core**: 系统核心配置与初始化 - **Drivers**: STM32 HAL 驱动 - **Middlewares**: FreeRTOS 内核与基础组件 - **Modules**: 业务逻辑与中间层 - **Sensor**: 各类传感器驱动 - **component**: 外壳命令与日志系统 - **drvadpter**: 驱动适配层 - **hardware**: 硬件控制接口 ## 快速开始 1. 使用 STM32CubeMX 配置硬件(project_demo.ioc) 2. 导出代码并集成到 MDK-ARM 工程 3. 编译并下载到目标板 4. 使用串口工具连接 UART6 查看外壳命令 ## 使用外壳命令 通过串口发送以下命令: - `list task` - 查看任务列表 - `list log` - 查看日志 - `ap3216c test` - 测试光感采集 - `sht20 test` - 测试温湿度采集 - `fan on/off` - 控制风扇 - `led on/off` - 控制 LED ## 贡献指南 - 提交代码前确保编译通过 - 保持代码风格统一 - 添加新传感器或执行器时,请扩展对应适配层 - 修改配置请更新 .ioc 与 FreeRTOSConfig.h ## 许可证 本项目遵循 MIT 许可证,具体请查看 LICENSE 文件。 ```