串口通信异常---串口参数设置无效

硬件环境:PC机、232转485串口、RS485_RTU26继电器
软件环境:VC6.0

测试工具:串口监控Serial Port Monitor、串口助手、串口交叉线

现象1:打开pc机,运行测试程序,串口通信失败。
现象2:打开PC机,随便使用一个串口助手,对当前使用的串口进行设置,关闭串口助手。之后打开测试程序,串口通信正常。

原因分析:

误区1:串口打开正常,但是不能保证与目标机通信正常;设置可能错误,比如波特率、数据位、停止位校验位等。这一点需要设置成功双方约定好的参数。
误区2:该串口向目标机发送数据,通过串口监控软件查看,并不能保证该数据的波特率、校验位、数据位及停止位等符合目标机的要求;这个确定不能通过串口监控软件确认;
误区3:其他任何对该PC机串口的设置都会保持到该串口下次被修改;

所以其实测试程序只是打开了串口,设置失败,所以通信失败。由于串口助手对该串口进行设置,所以该测试在之后便成功通信了。

你可能感兴趣的:(C++)