RS-485 是 **半双工** 总线:同一时刻只能有一个驱动器占用 A/B。两个节点同时发送会发生冲突,波形塌陷,CRC 大面积失败,表现为「有时好有时坏」的乱码。
### 工程约束
- **单一主站轮询**:从站不主动突发(除非协议明确允许多主并做仲裁)。
- **发送切换延时**:发完等移位寄存器排空(TC)后再切接收,常留 1~2 字符时间。
- **DE/RE 极性**:接反会导致「以为在听其实在发」。
- **终端与偏置**:冲突之外的电气问题要分开查。
### 与 Modbus
Modbus 主从模型天然适配 485:主站一问,从站一答。用在线串口助手模拟主站时,保持「一问一答」,不要多软件同时抢同一总线。
排查冲突时:先保证物理上只有一个主,再用示波器或逻辑分析仪看 DE 时序;软件重试只能掩盖,不能根治双发。
### 冲突复现实验
- 故意用两个主站工具同时轮询同一总线,观察误码。
- 恢复单主后误码应明显下降。
- 检查从站是否在非请求时段主动上报(需协议支持)。
- 调整主站超时与帧间隔,避免「问未完又问」。
半双工的纪律比代码技巧更重要。串口助手只做单主模拟时,现场总线才会安静。
联调记录建议包含:波特率与帧格式、接线方式、样本 HEX、现象与结论。使用 Web Serial Pro 等工具时可直接导出日志片段附在工单中,方便软硬件同事对齐。