Labview如何判断RS232发送缓冲区中的数据已经发送完毕?

2019-07-17 18:16发布

如题,在labview 串口通讯中,write.vi返回成功并不代表数据已经发送完毕(write.vi 返回成功只是说明把数据写到数据缓冲区了,但没有真正发送完毕),有没有办法可以知道发送缓冲区中的数据已经发送完毕了?谢谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
utdhome
2019-07-18 08:32
fantek 发表于 2013-12-29 23:37
在串口配置下的流控制模式设置为DTR/DSR,在VISA Write函数之前加延时,VISA Write设置为同步模式。如果还 ...

谢谢版主,我用你的方法去试,可连数据都发不出去,有错误发生。我现在给你说说我所做的:
假如我程序框图如下: 程序框图1 (write的I/O设为同步,read的也设为同步)

前面版: 2013-12-30 08.29.301.JPG

在示波器上看到的是: 示波器概图

放大它看是: 2013-12-30 08.28.25.jpg

从示波器上看到,1线(即黄 {MOD}线)是DTR的检测线,2线(即天蓝 {MOD}线)是Txd的检测线,它们并不同步,在DTR线变为高电平时,Txd线还一直发送数据。

如果把流控制模式设置为DTR/DSR,也把write的I/O设为同步,如下图
2013-12-30 08.30.171.JPG

则会出现错误:
2013-12-30 08.30.501.JPG


以上接示波器的方式都是:RS232的第四脚DTR接示波器的第1线CH1,RS232的第三脚Txd接示波器的CH2,它们的地共接RS232的第五脚(共地)。

一周热门 更多>