微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > RS232通讯问题?

RS232通讯问题?

时间:12-13 整理:3721RD 点击:
我拿labview通过rs232和一台仪器通讯
当仪器通过232口打印时,lv可以收到打印数据
但是在lv上输入命令(仪器专有命令,比如调整日期时间)时,仪器没有任何反应,有时候输出错误1073807339
请问应该从什么地方查找原因?
输入命令时要加什么前缀吗?谢谢
※ FROM: 144.131.67]
※ 来源:·水木社区 http://newsmth.net·[FROM: 144.131.67]

有没有漏掉\n\r这类的结束符?

没有的,就是命令发送过去机器没有反应……奇怪

好好看看协议,应该有结束符的

谢谢!有结束符
但是我把命令发送到仪器后,仪器显示接收成功,但是labview这边无法收到任何结果
很长时间无响应,最后自然停止
如图:
我没有使用任何循环,程序就停在那里读数据,最后读出的居然就是我发送的命令,根本不是仪器返回的值
但是,我用内带的instrument I/O assistant是可以得到正确的返回值的!
谢谢

给你一点建议
读取的时候弄一个循环,用byte at port?来检查buffer里面有多少数据,等到有预计返回数量的数据的时候退出循环,读取数据

谢谢,用了,十分奇怪啊!不行
我觉得如果用自己写的程序,命令就根本没有发送到设备中!
因为当我用instrument I/O assistant的时候,仪器会显示收到一大堆连续命令(全是刚才发送的),然后报错,最后收到一条由instrument I/O assistant发出的命令,返回正确信息
难道还是结束符的问题?麻烦看看我的结束符设置对不对
谢谢

呵呵,结束符你得去看协议,我接触过的是用\n\r的,这个默认是用\n的

郁闷,instrument I/O assistant用的也是\n
為什么我的就不行
程序本身沒有什么問題吧?

没有实际看到,我也不好说呀,呵呵
不过从你说的来看,好像就没有调通过呀,去下个串口调试助手之类的先看看通讯能不能搞定,然后再检查程序的问题
调试就是比较郁闷的,别着急,呵呵

下载一个bushound看看到底回来的是什么东西
.239

我的建议也是
还有,发送与接收之间得有延时
labVIEW有示例程序的,直接考过来改改试试

是這個嗎?
不行  :(

呵呵,先不要纠缠于lv先了,先找个串口调试助手之类的软件,看看发送命令过去之后,返回来的数据先吧

謝謝大侠,有希望了
我下载了CommSniffer,所有数据都可以正常收发
后来发现是等待时间的问题,就是在读数据之前要加个delay time
这个数值比较难设置,我最后调到450ms才可以在lv中得到返回值
而且这也是针对其中一个口令的结果,其他口令不知道是否需要不同的delay,因为返回值的大小不同啊
不管如何,谢谢各位了,真是热心啊

delay一般视你命令的长短来定的,命令长了delay显然要加长,而不是固定的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top