注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
16进制显示字符串与正常显示16进制字符串强制转换
16进制显示字符串与正常显示16进制字符串强制转换
正常显示字符串与16进制显示字符串强制转换
这种需求可能会在串口、VISA等仪器通信涉及到的读写过程中遇到。 一般来讲,仪器可能认的都是ASCII码的16进制编码。也就是我们在字符串中,使用16进制显示时表示的代码。如0X0102 0304 0506 AABB CCDD EEFF这样格式的字符串。但是我们实际使用时,输入端也好,输出端也好,一般都是直接正常显示的字符串。但是,如果将正常的写字符串转换为ASCII码后,肯定就不是本身了,就如数字0-10的ASCII是从48-57,A-F则是从65-70,如果是小写的a-f则是从97-102。所以,这里面本身是有差别的。 这时,如果正常显示输入的是10AC这样的字符串,实际输入时,也要表示为16进制的ASCII码的10AC,那就要进行强制转换,将字符串1强制转换为ASCII中的数字1,将字符串0强制转换为ASCII中的数字0,字符串A强制转换为ASCII码中的A。同样的,读取的16进制的ASCII的值,也要强制转换为正常显示的16进制的字符串。 转换的原理,是将正常显示的16进制字符串转换为16进制的数字(反过来则是16进制数字转换为字符串),再将数字创建为数组并使用字节数组到字符串函数(反过来则是字符串到字节数组)。这样就可以转换为相应的ASCII表示的16进制的字符串了。当然中间要加一些辅助的如索引、连接、循环等过程,自己参考上面的示例VI程序框图。示例VI已经做了相互转换的功能演示。
LabVIEW示例下载.LV2019SP1版本
16进制显示与正常显示强制转换.vi
(14.71 KB, 下载次数: 46)
|