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

2019-07-17 07:21发布

如图所示,整个流程大体是这样的,点击开始按钮,触发事件结构里的顺序结构,给下位机发送指令,在帧尾改变局部变量的值为T,然后通过条件结构执行数据采集,按停止按钮,把局部变量改为F,停止采集,并给下位机发送02指令。现在问题是,为什么点开始按钮后,再点停止按钮,数据采集是能很快停止,但是02这个指令要等几秒钟才会发出去,延迟很明显,而先点停止按钮再点开始按钮就不会出现延时,求大佬指点
数据采集部分 数据采集部分
点击开始 点击开始
点击停止 点击停止
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
wuyaning222331
1楼-- · 2019-07-17 09:51
你高亮执行一下,看看主要延迟在哪
mssmax
2楼-- · 2019-07-17 10:41

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

一周热门 更多>