labview串口通信接收数据问题
在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
你还是先把架子搭好一点
免得都不知道哪里错了
建议用事件结构