generated from Template/H563ZI-HAL-CMake-Template
add new things in Readme
This commit is contained in:
File diff suppressed because one or more lines are too long
87
README.md
87
README.md
@@ -5,3 +5,90 @@
|
|||||||
## 日志
|
## 日志
|
||||||
2025.6.4
|
2025.6.4
|
||||||
添加了Thread X 操作系统
|
添加了Thread X 操作系统
|
||||||
|
|
||||||
|
2025.6.25
|
||||||
|
# README: STM32H563 ThreadX Embedded AI System
|
||||||
|
|
||||||
|
## ✅ 当前已实现功能
|
||||||
|
|
||||||
|
本系统基于 STM32H563ZIT6 和 ThreadX 实时操作系统,模块化地实现了以下核心功能:
|
||||||
|
|
||||||
|
### 1. BLE 通信模块(HCBle.c)
|
||||||
|
|
||||||
|
* 支持 DMA + 空闲中断模式接收
|
||||||
|
* 支持 JSON 指令解析与封装(如:`{"leftSpeed":X,"rightSpeed":Y}`)
|
||||||
|
* 支持 BLE 指令转事件 + 数据发送任务队列
|
||||||
|
|
||||||
|
### 2. GPS 定位模块(gps.c)
|
||||||
|
|
||||||
|
* 支持 DMA + 固定长度接收
|
||||||
|
* 提供位置数据 `lat/lon` 解析与格式转换
|
||||||
|
* 冷启动支持(首次 GPS fix 时发送提示)
|
||||||
|
|
||||||
|
### 3. IMU 模块(imu.c)
|
||||||
|
|
||||||
|
* 模拟读取 X 轴角度(后续替换为实际驱动) 暂时还未完成
|
||||||
|
* 结合 GPS 信息生成完整的 Location JSON 包发送至 APP
|
||||||
|
|
||||||
|
### 4. 超声波避障模块(Ultrasound.c)
|
||||||
|
|
||||||
|
* 支持 DWT 微秒延迟与定时捕获
|
||||||
|
* 检测障碍 <30cm 自动触发蜂鸣器、震动器
|
||||||
|
|
||||||
|
### 5. 控制逻辑线程(Main\_Control)
|
||||||
|
|
||||||
|
* 管理 BLE 控制与避障响应行为
|
||||||
|
* 控制蜂鸣器与振动提示器
|
||||||
|
|
||||||
|
### 6. 多线程调度(ThreadX)
|
||||||
|
|
||||||
|
* 所有任务通过 ThreadX 线程调度与事件中转完成解耦
|
||||||
|
* BLE/GPS/IMU/Ultrasound 主从线程结构分离清晰
|
||||||
|
|
||||||
|
## 🚧 尚未实现或测试模块
|
||||||
|
|
||||||
|
| 模块 | 当前状态 | 说明 |
|
||||||
|
| ---------------- | ----- | ----------------------------------- |
|
||||||
|
| IMU 实际驱动 | ❌未实现 | 当前为模拟值 95°,需替换为传感器读取 |
|
||||||
|
| OpenMV 视觉模块 | ❌未接入 | 后续可通过 UART/USB 接口处理红绿灯识别 |
|
||||||
|
| 电机控制接口 | ❌未实现 | BLE 指令接收后尚未真正调用 `set_motor_speed()` |
|
||||||
|
| UI 显示 / APP 交互测试 | 🔄进行中 | JSON 包格式统一,需手机APP实际验证 |
|
||||||
|
|
||||||
|
## 🗺️ 系统拓扑图参考
|
||||||
|
|
||||||
|
请参考:`ThreadX 系统结构图.png`
|
||||||
|
<img src="/TuoPu.png" alt="ThreadX 系统结构图" style="zoom:50%;" />
|
||||||
|
|
||||||
|
## 📋 开发环境配置说明
|
||||||
|
|
||||||
|
### 软件工具
|
||||||
|
|
||||||
|
* **IDE**:STM32CubeIDE / Keil MDK
|
||||||
|
* **RTOS**:ThreadX (via STM32CubeMX Middleware)
|
||||||
|
* **串口调试**:串口助手、BLE调试助手
|
||||||
|
|
||||||
|
### 编译配置
|
||||||
|
|
||||||
|
* 使用 `-O2` 优化选项
|
||||||
|
* 启用 STM32CubeMX 中的 ThreadX 中间件
|
||||||
|
* 打开 UART DMA + IDLE、定时器中断等相关配置
|
||||||
|
|
||||||
|
### 推荐硬件连接
|
||||||
|
|
||||||
|
* **GPS模块**:连接 USART2 (DMA + TC 中断)
|
||||||
|
* **BLE模块**:连接 USART1 (DMA + IDLE)
|
||||||
|
* **超声波模块**:使用 TIM2 输入捕获
|
||||||
|
* **IMU模块**:I2C / SPI 接口(待扩展)
|
||||||
|
* **蜂鸣器与震动马达**:普通 GPIO 控制
|
||||||
|
|
||||||
|
## 🛠️ 接下来建议的开发步骤
|
||||||
|
|
||||||
|
1. **完成 IMU 驱动集成**:读取 MPU6050 / ICM20948 等传感器
|
||||||
|
2. **实现电机控制接口**:将 BLE 指令转换为 PWM 或电机驱动调用
|
||||||
|
3. **集成 OpenMV 模块**:红绿灯识别后通过事件机制上报
|
||||||
|
4. **完善 APP 端联调**:调试 BLE 接收逻辑,验证 JSON 包格式
|
||||||
|
5. **加入 Watchdog 与线程看门狗**:防止任务异常卡死
|
||||||
|
6. **优化能耗管理**:使用 ThreadX 的 tickless 模式管理低功耗
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user