LabVIEW字符串正常显示与十六进制显示相互强制转换 点击:340 | 回复:0



研讨会宣传员_3259

    
  • [版主]
  • 精华:3帖
  • 求助:110帖
  • 帖子:1927帖 | 14403回
  • 年度积分:102
  • 历史总积分:64749
  • 注册:2020年3月27日
发表于:2017-11-17 16:17:44
楼主

在串口通信中,由于实际上传输的是ASCII码,但是一般字符串控件显示出来的并不是其对应的ASCII码,关于字符串正常显示和十六进制显示,LabVIEW帮助文档里面是这么写的:

正常显示---------可打印字符以控件字体显示。不可显示字符通常显示为一个小方框。 

十六进制显示---每个字符显示为其十六进制的ASCII值,字符本身并不显示。 


比方说对于01这个字符串,如果是正常显示情况下输入01,下位机接收的是其对应的ASCII码而不是01本身;如果是十六进制显示情况下输入01,下位机接收的是十六进制的01。上位机接收下位机发送的字符串同样是ASCII码,一般情况下如果不加转换,在正常显示情况下是乱码,在使用LabVIEW在编程处理直接处理这些字符串的时候,就会出现问题了。于是很多时候需要对字符串正常显示和十六进制显示做一个强制转换,以方便处理。


正常显示至十六进制显示强制转换,一般用于VISA Write:


需要注意的是,在输入端Normal Display String输入的时候要确保字符是以两位的格式输入,比如需要输入1,格式要为01,否则会出错。


十六进制显示至正常显示强制转换,一般用于VISA Read:


经过这样的强制转换之后再进行处理就很方便了。


1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师