实验环境:
<1> FreeModbus 1.5版本.
<2> ModbusPool 作为主机, (stm32f1)单片机作为从机.
<3> 使用RS485作为媒介进行通信.
<4> 使用9600波特率.
<5> 不管上位机还是下位机, 都不使用奇偶校验.
实验缘由:
如下图所示:
协议要求如果不使用奇偶校验位的话, 必须使用2位停止位.
我之前还没有在意这个, 赶紧实验下看看, 结果更没想到...
000.png (105.25 KB, 下载次数: 0)
下载附件
2017-7-26 14:47 上传
实验现象:
<1> 上位机(Modbus Pool)配置使用1位停止, 下位机(单片机)配置使用1位停止位.
<2> 上位机(Modbus Pool)配置使用1位停止, 下位机(单片机)配置使用2位停止位.
<3> 上位机(Modbus Pool)配置使用2位停止, 下位机(单片机)配置使用1位停止位.
<4> 上位机(Modbus Pool)配置使用2位停止, 下位机(单片机)配置使用2位停止位.
实验疑问:
上述4种情况经过验证, 数据都能正常通信, 并且不出现乱码. 请问大神, 该如何解释???
一周热门 更多>