485 是半双工的通讯机制,也就决定了收发不能同时进行,这也就是为什么 232 你测试正常的原因。
一般来说,485 在使用的时候都是默认设置为接收模式,等到需要发送数据的时候来切换到发送模式,发送完成之后立马切换到接收模式。
如何判断接收完毕呢?
实际项目中使用 485 的时候都会引入协议的概念。
- 常用的协议 MODBUS-RTU ,通过标准协议规定的超时时间来切换到发送状态。
- 自定义协议,自行判断何时数据接收完毕,比如收到某个数据,或者收到多少个字节数据,或者多长时间都不在收到数据,接收完毕后切换到发送状态。
码字不易,帮到你了请点个采纳。
问 485半双工收发问题