LabIVEW串口发送端接收的是上一次的数据

2019-07-17 16:58发布

我写了一个简单的labview串口发送和接收的小程序,只是发送端收到的一直是接收端上次发送的数据,请问要怎么解决这个时序问题?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
fantek
1楼-- · 2019-07-17 17:53
 精彩回答 2  元偷偷看……
S.MYY
2楼-- · 2019-07-17 20:52
fantek 发表于 2014-1-1 22:07
列表中带[LabVIEW串口通信]的贴子供参考。可以传一个程序或截图。
http://bbs.elecfans.com/forum.php?mod= ...

这是我的小程序简略版,要求是要发送端发送一个数据给接收端,然后接收端再回复一个数据给发送端。但是发送端最后接收的数据是上次接收端发送的,一直苦恼于这个问题!多谢了!
发送端.jpg
接收端.jpg
fantek
3楼-- · 2019-07-17 22:40
接收端读后写操作中,写入函数的输入字符串是常量,发送内容不变化的。另外在发送端的写后读操作中,读之前加入了缓存字节数读取函数,这样读函数会立即返回读取到的字节数,即使为0字节。原因是用了读取缓存字节数函数后,发送端和接收端的延时不匹配造成的。发送端的的读取函数可以放到“发送命令”按钮对应的条件结构“假”分支中。在真分支执行完毕后,使“发送命令”按钮置为假,处于循环读取状态。
修改方法有:
(1)删除读取缓存字节数函数,设置配置函数中的timeout值;
(2)把读函数放到假分支中;
(3)修改发送端延时函数值要大于接收端的读取前延时值。

S.MYY
4楼-- · 2019-07-17 23:24
fantek 发表于 2014-1-1 22:38
接收端读后写操作中,写入函数的输入字符串是常量,发送内容不变化的。另外在发送端的写后读操作中,读之前 ...

当我把写函数移入假分支之后,发送端接收到的数据是这次的,但是总是一闪而过,数据立马就消失了,这是怎么回事呢?
fantek
5楼-- · 2019-07-18 03:21
本帖最后由 fantek 于 2014-1-2 12:06 编辑
S.MYY 发表于 2014-1-2 10:19
当我把写函数移入假分支之后,发送端接收到的数据是这次的,但是总是一闪而过,数据立马就消失了,这是怎 ...

对读取字节数判断,如果大于0,则输出到接收字符串中,也就是输出需要锁存,可以用条件结构实现。
S.MYY
6楼-- · 2019-07-18 05:35
 精彩回答 2  元偷偷看……

一周热门 更多>