1.7 KiB
1.7 KiB
断电保护固件 - 使用文档
通信接口
设备同时启用 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 结尾。
工作流程
- 设备上电初始化,串口和USB同时监听,等待上位机发送
start - 收到
start后锁定该接口,进入监控循环:- 检测 Main12V_In 引脚(PB7)
- 12V正常时:发送
Alive,等待上位机回复blive(5秒超时) - 12V丢失时:连续检测10次仍丢失则进入关机流程
- 关机流程:
- RUN灯灭(PB5置高)
- SHUT拉低(PB4)触发关机
- 发送
SHUTDOWN,等待上位机回复ok,若一分钟之后未收到,则直接关机 - 延时10秒后断开继电器(PB6置高)