微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > labview串口通信接收数据问题

labview串口通信接收数据问题

时间:10-02 整理:3721RD 点击:
有大神能帮我解释一下么  为什么打开串口接收数据的时候
在24探针的时候没有响应任何数据  但是在探针25的时候就会出现ASCII  一般接收到数据直接读出来不就行了么
求解答 谢谢



看看

你读取的字符其实是读取缓冲区控件保存的数据

看看图片上标识


为什么我直接这么读的时候读不出来呢  还有我的返回值是十六进制的数  应该怎么读出来   感谢您


给小编提几个建议:
1,通信操作,没有这样用while循环的,有的话,也要加延时,至于延时多少,需要根据你的通信波特率和数据量去计算
2,while循环,visa的引用句柄要用移位寄存器,
3,写过之后加延时在进行读操作
把我说的先改一下,不行可以在找我

感谢您的热心帮助,  按照您的建议进行了需改,得到了很大的帮助,还想问一下,
我接受的应该是01 00 22 44 55 这样的16进制数,
为什么显示出来的是0100 2244 55 这样的数呢,
下一步我还想把他们列入数组然后单个元素拿出来用
   谢谢



1,图片中,标号1,数据产生了竞争,应该先得到数据,再去解析,建议通过顺序框或者错误连线,让程序顺序执行
2,标号2,加延时,不可能刚发过写入,就读取的,这样你是读不到数据的,及时读到的也不是本次循环写进去的
3,你就收的本来就是16进制的数,显示的格式也就是0011 0011 0011 这种样式的


这样本来就是LABVIEW显示十六进制的显示格式,转换成字符还是原来的没变,要选取里面的单个元素,可以通过字符转字节数组然后处理,不过转换后的字节不是你十六进制数而是十进制数,后面继续加一个数据格式转换就行了

谢谢论坛各位大佬的帮助  这样应该就可以了吧   如果想显示16进制就改一下控件的显示格式属性就可以了吧



写入之后要加个小段延时时间

这不是两个延时么  一个写入  一个读取的


这两个么?


你的程序结构有问题
你未打开是程序直接执行了非,打开执行打开
http://bbs.elecfans.com/forum.ph ... p;page=1#pid6313060
你还是先把架子搭好一点
免得都不知道哪里错了
建议用事件结构

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

网站地图

Top