USB虚拟串口通讯第九位问题(怪)

时间:2021-06-10 16:09:19
我们的一个项目需要PC机通过串口和多台下位机进行通讯,下位机是编了地址的,为了区分地址包和数据包,所以用奇偶校验位(第九位)置1(地址)或0(数据)来完成。程序在USB虚拟串口下调试成功的,收发都一切正常,地址识别也都没问题。但是,当使用标准串口的时候,问题就来了,有时能收到,有时收不到,有时收到的是正确的,有时候数据又是错的,总之一塌糊涂,但就在同一部机器上,完全一样的程序,换成USB串口,又一切正常了! 理论上不应该啊,难道USB虚拟串口的兼容性比真正的标准串口还要好??

5 个解决方案

#1


有可能是你的机器主板太烂,性能不合格.
一般在品牌机上容易出现这种情况.有时连基本的串口通信都会出差.
硬件问题,找谁说理取啊

#2


你在pc上用8位数据看看,在别的机器上看看,俺在单片机通讯中遇到过,数据位固定为9位,发往PC时没做特殊设置,PC就接收正常了。

#3


我用 usb与标准串口都试过 pc到下位机应该是没问题的,就是用usb虚拟的要比标注的速度慢一些(在数据量大的情况下)而从下位机发pc收时,用标准串口完全正确,用usb虚拟的会有时接收到的地址不一样,如地址0xff 有时是0x7f 有时时0xff

#4


先看看是不是你的标准串口坏了。

#5


pc好像不支持9-bit串口

#1


有可能是你的机器主板太烂,性能不合格.
一般在品牌机上容易出现这种情况.有时连基本的串口通信都会出差.
硬件问题,找谁说理取啊

#2


你在pc上用8位数据看看,在别的机器上看看,俺在单片机通讯中遇到过,数据位固定为9位,发往PC时没做特殊设置,PC就接收正常了。

#3


我用 usb与标准串口都试过 pc到下位机应该是没问题的,就是用usb虚拟的要比标注的速度慢一些(在数据量大的情况下)而从下位机发pc收时,用标准串口完全正确,用usb虚拟的会有时接收到的地址不一样,如地址0xff 有时是0x7f 有时时0xff

#4


先看看是不是你的标准串口坏了。

#5


pc好像不支持9-bit串口