首页 > 其他分享 >关于上位机和设备串口传输的相关问题

关于上位机和设备串口传输的相关问题

时间:2022-10-13 17:12:14浏览次数:68  
标签:机和 0xAA 上位 SP3232 分包 串口 COM

  上位机采用的是windows系统,用C#编写用户UI,COM驱动采用的是C#自带的serialport 类,下位机用单片机+SP3232模式。传输线采用的是USB转RS232的转接线。初步问题是,上位机采集数据分包。比如:0xAA 0X01 0X02 0X03 0X04 0XBB 。有包头包尾。但是传输过程中出现了一包数据分段发送的情况。初步解决采用更改上位机COM采集机制。把分段数据整合下来后再拼装,解析。后有灵感采用serialport 类的readbyte,一次读取一个字节。不过出现的问题就是调试过程中发现COM口产生DataReceive事件再读取readbyte一个字节的时候。会出现丢包现象。比如前面的例子0xAA 0X01 0X02 0X03 0X04 0XBB 。 测试过程中,发送第一次,系统收到0xAA 0X01,再发,收到 0X02 0X03。。以此类推。这个问题应该和serialport 类有关。串口中断机制有问题。

  单片机+隔离器+SP3232+共模电感,这个共模电感设计的有点诡异。且不谈设计思路。通过调试发现。USB转RS232由于品质不同也会出现分包现象。一分钱一分货。这个分包现象是利用串口调试助手或者bushound监测得出。发现通过隔离器、SP3232输出端均有分包现象。利用示波器测试COM口波形状态。发现隔离器、SP3232端波形一致。但波形数据杂乱。。因为我包头是0xAA包尾是0x55在二进制表示是1010和0101在图形上看前后区分明显。说明信号传输质量有问题。才出现的分包现象。

 

标签:机和,0xAA,上位,SP3232,分包,串口,COM
From: https://www.cnblogs.com/lineAI2022/p/16788838.html

相关文章