NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

问一个关于16进制数的串口通信协议问题

我的问题是这样的,我用labview的VisaSerial去读取一个成品传感器组件的输出数据。

 

这个传感器的输出采用RS-232协议为16进制数的。即每帧包括27个Byte,每10ms发一帧数据,都用十六进制数发上来,例如:0xBB表示帧开头,其中25个字节为帧数据区,最后一个字节为校验字节CheckSum。

 

我的问题是这样的,VISA的read函数读取的时候直接将传感器所发上来的十六进制数当做ASCii码转换成字符串了,我如果想还原数据除了将此ASCii再转换回Hex数还有别的办法吗?我是想问有没有什么读取组件或函数读取的直接是十六进制数呢?如果没有那么ASCii码转换为十六进制数在Labview中有什么现成的函数吗?

 

我是个初学者,希望我叙述明白了。

 

感谢您的回答。

0 项奖励
1 条消息(共 4 条)
4,197 次查看
http://www.eefocus.com/blog/csxcs366/09-09/176700_6a983.html
陈树学
QQ:276509891 .
EMAIL:CSXCS_366@126.COM
qq群:78561268 80754347 37591940
http://labview.weebly.com/
新书《LabVIEW实用工具详解》已经发售,敬请关注。
0 项奖励
2 条消息(共 4 条)
4,184 次查看
不好意思,可不可以解释的详细一些,或是把VI直接传上来,你图片里的转换函数我没有找到。
0 项奖励
3 条消息(共 4 条)
4,177 次查看

这个问题很简单,直接将字符串转成U8数组,接下来随便你怎么处理,同时,我想给你澄清一个概念,十六进制并不是数据格式,而只是数据的表现形式

0 项奖励
4 条消息(共 4 条)
4,156 次查看