LabVIEW干货
直播中

zhou2sheng

10年用户 1849经验值
擅长:嵌入式技术 EDA/IC设计 处理器/DSP 接口/总线/驱动 控制/MCU
私信 关注
[Labview经验]

小草手把手教你 LabVIEW 串口仪器控制——常见问题举例分析

点击学习>>《龙哥手把手教你学LabVIEW视觉设计》视频教程

常见问题举例分析
(1)下图,读取串口程序,把配置串口放到循环里,每次都要初始化串口,然后怎么怎么的。我前面讲过了串口配置放到循环外,不要往复让这个执行。


(2)流程不对。串口的几个步骤,是必须的,先打开配置,然后读或者写,然后关闭。


(3)竞争状态,多个地方同时读,同时写。


如上图,两个线程里,都有读 VISA,或者一个 WHILE 里,多个地方同时读,这样,肯定会有错,同时,保证一个串口,只有一个读,或者写。232 接口里,读和写可以同时进行,因为他是全双工的。而 485 半双工 2 线制时候,请注意,读和写不可以同时,因为是半双工。另外上图中,有 2 个 VISA 关闭,其实关闭一次就行了。因为前面只打开了一个资源。


(4)使用如下组合,并且使用截取字符串。


前面讲过,左边两个函数,功能是读取全部串口缓冲数据。你后面又是截取数据中有用的。但是,你如果单片机是连续发的,你就不知道你串口的数据,是不是按你所截取的数据。比如你认为你截取的是 012345,你想得到 3.可是,缓冲数据是 12345,你如果还那么截取,就只是截取到了 4。如果单片机是一下子发一串,就用这个组合吧。


解决方法:如果你单片机数据是间隔的,而且每次发送的是固定的数据。请自己设定VISA 读取的,字节数,比如设置为 12。


如果你的发送指令,有协议头,就是为了同步而加的帧头,如下图,是 FF 加上 12 个字节数目,可以按下面的结构,先读取一个字节,看是否是 FF(HEX 显示),如果不是,就继续检测,如果是 FF,就读取接下来的 12 字节



编写者:浅浅的小草

附件: 您需要登录才可以下载或查看附件。没有帐号?注册

回帖(34)

徐平辉

2015-2-5 15:16:18
换了360浏览器终于能看了,顶一下草神!
举报

明-尕yan

2015-3-2 23:14:09
楼主你好,我选了VISA资源名称,然后我按控件箭头,想选串口号COM1,可是我按了箭头只有刷新两个字,求解
举报

小陈

2015-3-3 09:51:48
谢谢小草的指点
举报

wayne

2015-3-5 17:55:04
小草写的太好了,通俗易懂,真新感动,我是你的忠实粉丝.!!!!
能讲些DAQ采集以及蓝牙方面的方面的知识吗,好期待啊!
举报

kun.peng.wei

2015-3-8 10:04:45
太好了,我收藏了。
举报

传感器研发

2015-3-8 11:33:39
太好了,我收藏了。
举报

林云峰

2015-7-4 16:17:14
学习了,很好的资料,谢谢分享!希望更多labview资料可以分享
举报

Yoyo0450701

2015-7-27 22:21:55
小草君,关于你的第二个图流程不对的那个,属性节点的Bytes at Ports 中字节数为0一般都是什么错误呀,困扰一天了,求指点!
举报

xujian

2015-7-27 23:42:39
引用: Yoyo0450701 发表于 2015-7-27 22:21
小草君,关于你的第二个图流程不对的那个,属性节点的Bytes at Ports 中字节数为0一般都是什么错误呀,困扰一天了,求指点!

因为串口没有数据,所以是0.

一般是WHILE循环里 加上一定的延时。
举报

Yoyo0450701

2015-7-29 20:50:23
本帖最后由 Yoyo0450701 于 2015-7-29 20:54 编辑
引用: happyarrow 发表于 2015-7-27 23:42
因为串口没有数据,所以是0.

一般是WHILE循环里 加上一定的延时。

小草老师,我照着您说的改了,还是有问题,您请帮忙看一下好吗?多谢!



举报
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

xujian

2015-7-29 22:13:58
引用: Yoyo0450701 发表于 2015-7-29 20:50
小草老师,我照着您说的改了,还是有问题,您请帮忙看一下好吗?多谢!

自己看你 下位机有问题吧。先排除下位机问题。我也帮不了你。具体靠自己琢磨。道理都是简单的。
举报

Yoyo0450701

2015-7-30 14:50:37
引用: happyarrow 发表于 2015-7-29 22:13
自己看你 下位机有问题吧。先排除下位机问题。我也帮不了你。具体靠自己琢磨。道理都是简单的。

好的,还是谢谢老师啦!
举报

Yoyo0450701

2015-7-31 13:56:43
引用: happyarrow 发表于 2015-7-29 22:13
自己看你 下位机有问题吧。先排除下位机问题。我也帮不了你。具体靠自己琢磨。道理都是简单的。

小草老师,打扰你了,请教你最后一个问题,同一个串口可以先对其写入数据,再对其读取数据吗
举报

xujian

2015-7-31 21:40:16
引用: Yoyo0450701 发表于 2015-7-31 13:56
小草老师,打扰你了,请教你最后一个问题,同一个串口可以先对其写入数据,再对其读取数据吗

同时是什么意思? 如果是收发的话,232的是全双工的,可以发的时候,同时接收。
举报

zhangwei

2015-8-14 05:37:39
好不错!!
举报

2015-10-30 09:02:22
挺好的哈赞一个
举报

zhchzhi

2015-11-1 11:53:28
谢谢分享,学习了
举报

jsxz2144

2015-11-3 17:23:46
引用: 明-尕yan 发表于 2015-3-2 23:14
楼主你好,我选了VISA资源名称,然后我按控件箭头,想选串口号COM1,可是我按了箭头只有刷新两个字,求解

请问你使用笔记本还是工控机?
举报

jiluyu

2015-12-21 20:54:29
本帖最后由 jiluyu 于 2015-12-21 20:56 编辑

小草老师,为什么最后一个图的程序运行了我却出不了数据呢?图如下
举报
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

更多回帖

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