LabIVEW串口发送端接收的是上一次的数据
时间:10-02
整理:3721RD
点击:
我写了一个简单的LabVIEW串口发送和接收的小程序,只是发送端收到的一直是接收端上次发送的数据,请问要怎么解决这个时序问题?
列表中带[LabVIEW串口通信]的贴子供参考。可以传一个程序或截图。
http://bbs.elecfans.com/forum.ph ... d=160&fromop=my
这是我的小程序简略版,要求是要发送端发送一个数据给接收端,然后接收端再回复一个数据给发送端。但是发送端最后接收的数据是上次接收端发送的,一直苦恼于这个问题!多谢了!
接收端读后写操作中,写入函数的输入字符串是常量,发送内容不变化的。另外在发送端的写后读操作中,读之前加入了缓存字节数读取函数,这样读函数会立即返回读取到的字节数,即使为0字节。原因是用了读取缓存字节数函数后,发送端和接收端的延时不匹配造成的。发送端的的读取函数可以放到“发送命令”按钮对应的条件结构“假”分支中。在真分支执行完毕后,使“发送命令”按钮置为假,处于循环读取状态。
修改方法有:
(1)删除读取缓存字节数函数,设置配置函数中的timeout值;
(2)把读函数放到假分支中;
(3)修改发送端延时函数值要大于接收端的读取前延时值。
当我把写函数移入假分支之后,发送端接收到的数据是这次的,但是总是一闪而过,数据立马就消失了,这是怎么回事呢?
对读取字节数判断,如果大于0,则输出到接收字符串中,也就是输出需要锁存,可以用条件结构实现。
已解决!多谢~!
我也不知道怎么弄