Files
poweroff-protection/poweroff_stm32/使用文档.md
2026-05-14 17:53:52 +08:00

42 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 断电保护固件 - 使用文档
## 通信接口
设备同时启用 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置高