LabVIEW论坛
直播中

丰瑞鑫

7年用户 74经验值
擅长:控制/MCU
私信 关注
[问答]

为什么在串口发送数据时会延时很久才发出去

如图所示,整个流程大体是这样的,点击开始按钮,触发事件结构里的顺序结构,给下位机发送指令,在帧尾改变局部变量的值为T,然后通过条件结构执行数据采集,按停止按钮,把局部变量改为F,停止采集,并给下位机发送02指令。现在问题是,为什么点开始按钮后,再点停止按钮,数据采集是能很快停止,但是02这个指令要等几秒钟才会发出去,延迟很明显,而先点停止按钮再点开始按钮就不会出现延时,求大佬指点
  • 数据采集部分
  • 点击开始
  • 点击停止

回帖(2)

wuyaning222331

2019-5-5 08:45:43
你高亮执行一下,看看主要延迟在哪
举报

David

2019-5-5 15:45:08

开始→停止的操作延时几秒后才把串口指令发出去,我推测,你程序可能先执行了读串口,然后再执行了写串口数据
因为按你描述,停止→开始,是很快执行写串口数据,然后才去读串口数据的,所以你需要清楚以下问题:
1.第一张图  局部变量“开始检测”为T的状态时,这个case在哪里执行的?
2.进入while循环之前,你“开始检测”有赋值为F吗?
3.自定义图标的VI"DEAL"和“ADD”内部是否有延时?如果有说明就说明你执行的顺序变成了先读后写
举报

更多回帖

发帖
×
20
完善资料,
赚取积分