串口作为主程序的子VI,数据传输不出来。

2019-07-17 14:39发布

1.我按照小草视频自己做了一个串口助手(图1),我现在想用这个串口助手作为子VI,因为我要多次传输命令,读取下位机发回来的指令。这个字VI单独运行好使,但是作为主程序运行时,数据只停留在子VI里,主程序接收框没有,为什么?
2、我现在主要发送一帧数据(7字节组成),首先先收到的是一模一样的发送数据,然后紧接着收到一帧数据的帧头,接着我再发送帧头,收到的第一个有用的数据,我再发送刚才收到的这个数据,接收到第二个有用的数据,依次类推,直到帧尾。OVER ,我就要用全校验的方式解决收回来的有用的数据进行处理
举例:发 FA 15 00 00 00 00 F5  收 FA 15 00 00 00 00 F5 FA
          发 FA                                收 FA 15 00 00 00 00 F5 FA 3D
          发 3D                                收 FA 15 00 00 00 00 F5 FA 3D  EF
    。。。。。。
不知道如果不用串口子VI,朋友们有没有好的方法解决,我现在只能到第一步,我用了VISA读写控件多次使用,好像没成功。
TIM截图20171214225656.jpg 图片1.png

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
sszx2007
1楼-- · 2019-07-17 19:31
 精彩回答 2  元偷偷看……
Nimalaji
2楼-- · 2019-07-17 22:34
因为你这里面有个while循环,做子vi的时候while循环停止运行,数据才会传出来,,你可以全局变量代替,或者while循环只运行一次,或者不用while循环。
↑♂§宇☆
3楼-- · 2019-07-18 00:10
sszx2007 发表于 2017-12-15 10:00
这也是服了,照搬程序都不会搬,说明你就没理解别人程序的意思,要是让小草看到你这样用,不给你气吐血?!赶紧去把基准打好先吧!

新手出错很正常,回帖不应该帮忙解答问题,而不是连基础两个字都不会打,还说明人基础不好
sszx2007
4楼-- · 2019-07-18 03:05
真惭愧!非常抱歉!请原谅!
↑♂§宇☆
5楼-- · 2019-07-18 08:56
Nimalaji 发表于 2017-12-15 10:24
因为你这里面有个while循环,做子vi的时候while循环停止运行,数据才会传出来,,你可以全局变量代替,或者while循环只运行一次,或者不用while循环。

第一,我现在将外面的大循环去除了,第二,我现在采用了全局变量,数据传送到全局变量里面,但是却从全局变量里面传出出来。

一周热门 更多>