42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# 断电保护固件 - 使用文档
|
||
|
||
## 通信接口
|
||
|
||
设备同时启用 USART1 串口和 USB CDC 虚拟串口,上电后两个接口都在监听。哪个接口先收到 `start` 指令,后续通信就使用哪个接口:
|
||
|
||
| 接口 | 连接方式 | 接收方式 |
|
||
|------|----------|----------|
|
||
| USART1 串口 | PA9(TX) / PA10(RX),115200 8N1 | 中断接收 |
|
||
| USB CDC 虚拟串口 | PA11(DM) / PA12(DP),USB口 | 轮询接收 |
|
||
|
||
> **举例:** 上位机通过USB连接,发送 `start\r\n`,设备识别为USB模式,后续所有 `Alive`、`SHUTDOWN` 等消息都通过USB发送,`blive`、`ok` 等回复也只从USB接收。如果通过串口先发了 `start`,则全程走串口。
|
||
|
||
---
|
||
|
||
## 通信协议
|
||
|
||
| 指令 | 方向 | 说明 |
|
||
|------|------|------|
|
||
| `start` | 上位机 → 设备 | 启动监控(设备上电后等待此指令才开始工作) |
|
||
| `Alive` | 设备 → 上位机 | 心跳包,表示12V电源正常 |
|
||
| `blive` | 上位机 → 设备 | 心跳回复,表示上位机在线 |
|
||
| `SHUTDOWN` | 设备 → 上位机 | 12V电源丢失,设备即将断电 |
|
||
| `ok` | 上位机 → 设备 | 确认收到关机通知 |
|
||
|
||
所有指令以 `\r\n` 结尾。
|
||
|
||
---
|
||
|
||
## 工作流程
|
||
|
||
1. 设备上电初始化,串口和USB同时监听,等待上位机发送 `start`
|
||
2. 收到 `start` 后锁定该接口,进入监控循环:
|
||
- 检测 Main12V_In 引脚(PB7)
|
||
- 12V正常时:发送 `Alive`,等待上位机回复 `blive`(5秒超时)
|
||
- 12V丢失时:连续检测10次仍丢失则进入关机流程
|
||
3. 关机流程:
|
||
- RUN灯灭(PB5置高)
|
||
- SHUT拉低(PB4)触发关机
|
||
- 发送 `SHUTDOWN`,等待上位机回复 `ok`,若一分钟之后未收到,则直接关机
|
||
- 延时10秒后断开继电器(PB6置高)
|