找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 982|回复: 9

求助:串口通信

[复制链接]
发表于 2005-5-30 19:42:00 | 显示全部楼层 |阅读模式
<>我想通过RS-232C接口读取仪器上测量到的数据,对仪器命令不懂,怎么向仪器发送命令然后得到响应的数据??还有数据格式和所要发送的命令的格式怎么确定呀??</P>
发表于 2005-5-30 22:48:55 | 显示全部楼层
不同的仪器有不同的通讯协议的,命令也是不同的,看它的说明书才行,要按说明书上的命令和格式来发!
回复 顶

使用道具 举报

 楼主| 发表于 2005-5-31 04:20:20 | 显示全部楼层
<>我查了,看了好久,每次试老是得不到数据,帮我想想那里出了问题。我的程序是初始化串口,然后在一个While循环中,用VISA Write.vi向串口写一命令,接着用VISA Bytes at Serial Port读串口中字节数,其值作为VISA Read.vi的byte count,然后在循环框外关闭串口。</P><>如果是两台主机,一边发,一边收,可以实现,线应该没事。就是读仪器的数据时有问题,也不出错,而且用探针可知VISA Bytes at Serial Port输出为0;仪器也按说明书设置了。</P>
回复 顶

使用道具 举报

发表于 2005-5-31 07:38:22 | 显示全部楼层
你的机子可以用LV收发信息吗二台机子之间?哪应该不是VISA问题了!下面有没有数据发回来呀!是不是发的命令的格式不对呢!
回复 顶

使用道具 举报

 楼主| 发表于 2005-5-31 19:53:19 | 显示全部楼层
<>我就是对这个仪器命令不太懂,仪器说明书上附了一点程序,是用True Basic编的。它接收的数据格式有字符和十进制格式两种。我再看看。仪器是一台电力测试仪3169或3166。</P>
回复 顶

使用道具 举报

发表于 2005-5-31 21:24:53 | 显示全部楼层
应该是命令不对,或者说命令格式不对。你要看一下你的命令结束是以什么结束的(回车 回车/换行等),这应该和你对串口的初始化相一致,这样再试试~~
回复 顶

使用道具 举报

 楼主| 发表于 2005-6-2 16:55:11 | 显示全部楼层
<>谢谢各位的帮助!我的问题解决了一部分,问题出在发送命令也要加结束符,也就是上面这位楼主所说的。</P><>不过,又有个新的问题,我读串口的数据时,Flow control 选了none。在循环框中连续读数据时,一会正确,一会得到说我命令错误的响应信息,这是为什么?我发的命令是同一条。下面是一部分数据,大家帮我看看。</P><>+237.42E+0;+00.174E+0;+0.0283E+3;+0.0298E+3;+0.0411E+3;+0.688E+0
+237.42E+0;+00.174E+0;+0.0283E+3;+0.0298E+3;+0.0411E+3;+0.688E+0
+237.42E+0;+00.174E+0;+0.0283E+3;+0.0298E+3;+0.0411E+3;+0.688E+0
COMMAND ERROR
COMMAND ERROR
COMMAND ERROR
+237.42E+0;+00.174E+0;+0.0283E+3;+0.0298E+3;+0.0411E+3;+0.688E+0
+237.42E+0;+00.174E+0;+0.0283E+3;+0.0298E+3;+0.0411E+3;+0.688E+0
COMMAND ERROR
COMMAND ERROR
+237.42E+0;+00.174E+0;+0.0283E+3;+0.0298E+3;+0.0411E+3;+0.688E+0
+237.42E+0;+00.174E+0;+0.0283E+3;+0.0298E+3;+0.0411E+3;+0.688E+0</P>
回复 顶

使用道具 举报

发表于 2005-6-2 20:45:32 | 显示全部楼层
<>仪器的通信设置呢?如波特率,校验位之类的,要和pc的设成一样的。或者pc的设成和仪器的一样。</P>
回复 顶

使用道具 举报

 楼主| 发表于 2005-6-3 01:49:17 | 显示全部楼层
这些参数在程序、MAX和仪器中设置都相同。另外,为什么在连续读数时得到的是同一组数据,如上面这段数据所示,值都没有变化,怎么才能得到连续变化的数据。
回复 顶

使用道具 举报

 楼主| 发表于 2005-6-3 02:12:17 | 显示全部楼层
<>我感觉是程序的运行速度过快,仪器提供测量不到足够的数据,怎么可以解决程序和仪器的速度匹配问题呢,我用FLOW CONTROL过,但是没有得到满意的结果。</P><>解释一下,上面的这段数据中,在说明书中查到COMMAND ERROR 是发送错误命令时才会得到的响应,可是我发的命令就是同一条啊???</P>
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 01:41 , Processed in 0.041321 second(s), 6 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表