请教一个关于labview通过串口读取十万个字节数据的问题
时间:10-02
整理:3721RD
点击:
小弟最近在做通过下位机向上位机传送数据,用串口传送10万个字节的数据到上位机,上位机将数据写入电子表格,但是遇到了一个棘手的问题,上位机上面最后写入电子表格的数据发生了断裂,下位机的确是发送了10万个数据,但是上位机确只接收到1.8万,而且前面的数据与最后面的数据完好,数据在中间某处断裂,请教一下这种问题该如何解决。
以下是我的程序图以及实验结果。
file:///C:\Users\ly\AppData\Roaming\Tencent\Users\1264800142\QQ\WinTemp\RichOle\(UR4I`9H{{S@E09I)CHY1(I.png
以下是我的程序图以及实验结果。
file:///C:\Users\ly\AppData\Roaming\Tencent\Users\1264800142\QQ\WinTemp\RichOle\(UR4I`9H{{S@E09I)CHY1(I.png
研究下为何断裂
我研究了的,如果我在下位机发送一个字节后延时很长一段时间,上传上来的数据就是完整的
通讯肯定是需要时间的。
如果我每发一个字节就要延迟20ms,那效率太低了,请教以下有没有什么解决的方法
波特率改大一点,用115200,不要用9600,试一下
通讯是要这么长时间的,可以一次性发多个字节,通讯时间应该变化不大
把该技术成功运用到了部队和工业控制的实际项目中。
后面的图片和帖子有什么关系
通讯时间吧,写入表格的程序不应该在循环之内,可以放到另外的循环,用队列传送数据,我怀疑是循环时间过长串口缓存溢出,因为串口缓存区你没设置的话应该是1024吧。
生产者消费者模型处理数据。
另外写入数据的逻辑看着不太对啊。
您好,我刚刚有点灵感,看了一下基于串口调试助手的原理可以用来做
如果延时就可以正常通讯,可以考虑下会不会是硬件的问题。如通讯芯片的响应时间,通讯电路的阻抗、容抗有没问题。