LabVIEWwilliam hill官网
直播中

李杨

7年用户 12经验值
擅长:EDA/IC设计
私信 关注
[问答]

labview中字符串转换为16进制的数搞不清楚了

我再程序框图中将VISA读取函数读取的字符串通过截取部分字符串的方式拆分成四部分,除了开头的FF,剩余的我想分成四个数据,但是截取之后转换为16进制的数时结果为0,求各路大神帮助

  • LPFOWDV0VT4DO{S(83I8~BH.png

回帖(6)

wuyaning222331

2017-4-25 15:42:27

最佳答案

以FF为例,你截取出来的是以16进制显示的FF,你可以右击控件选择正常显示,这时它就不是FF了,而将十六进制字符串转换为数字整个函数的输入需要的是正常显示的FF,所以你转换出来就不对了,因此你需要将16进制的FF变成正常显示的FF就好了,我建议你用将字符串转为U8数组这个函数,索引一下就可以得到数值了
举报

阿程

2017-4-25 17:08:29
查找FF值那块,把6去掉就可以了,从第6个开始查找,怎么可能找到呢
举报

骆少红

2017-4-25 17:15:36
请问你匹配的时候为什么要偏移6呢?偏移之后FF都已经过了,根本就匹配不到FF,所以匹配之后的数应该是空字符串,所以截取字符串根本就没意义。
举报

李杨

2017-4-26 15:08:08
引用: xu391600076 发表于 2017-4-25 17:08
查找FF值那块,把6去掉就可以了,从第6个开始查找,怎么可能找到呢

我把6删掉了,仍然还是不行啊,不显示的,程序把单片机发送的16进制数当成ASCII码翻译成汉字了,比如说,在16进制显示下,字符串读取为FFE2 E9DF C1,但是正常显示的时候,就显示成 忾吡 了。
举报
  • wxid_arjny271zu4a22_1493190305175_89.png
  • wxid_arjny271zu4a22_1493190287437_66.png

更多回帖

发帖
×
20
完善资料,
赚取积分