VISA读取串口连续发来的数据出错
时间:10-02
整理:3721RD
点击:
下位机以10Hz速率连续向PC发送数据帧,利用VISA读函数按100ms周期性读串口,会出现篡位和多数据的现象。
如,下位机持续发送 S:1.1 1.2 1.3 1.4,上位机刚开始接收数据正常,而几分钟后则会收到类似如下几种的格式:
1. S:1.1 1.2 1.3 1.4 (数据丢失);
2. ^S:1.1 1.2 1.3 1.4 (多余数据^);
3. S:1.1 1.1.3 1.4 (数据2 丢失)。
现在不知道该怎样解决了,请了解的小伙伴们给予帮助吧!
遇到过类似问题的可以讨论讨论
如,下位机持续发送 S:1.1 1.2 1.3 1.4,上位机刚开始接收数据正常,而几分钟后则会收到类似如下几种的格式:
1. S:1.1 1.2 1.3 1.4 (数据丢失);
2. ^S:1.1 1.2 1.3 1.4 (多余数据^);
3. S:1.1 1.1.3 1.4 (数据2 丢失)。
现在不知道该怎样解决了,请了解的小伙伴们给予帮助吧!
遇到过类似问题的可以讨论讨论
原因1:硬件干扰太多,可尝试使用更低的波特率测试;
原因2:波特率设计错误,可用示波器测量,看实际波特率是否和预期相同;
我用串口调试助手接收到的数据是正常的,没有发生异常
问题已解决。
利用队列功能就能够完全记录了