**前情提要:**从CSDN找到一篇解决方案,但是有些小问题,我进行了修改。现已完美解决。
我的应用场景在于与下位机通讯处理接收到的十六进制字符串,在进行精度电压转十六进制字符串时遇到问题,发送命令不成功,将字符串输入控件改为十六进制显示则可以成功接收,因此实现从十六进制字符串转十六进制显示的字符串成功解决问题。分享一下。
例如,我要向单片机发送将电压设置为3.3V,要将3.3V转换为十六进制,保留2位精度。做法为X100后转换为十六进制,拼接成固定格式的指令。直接拼接的话并不能收到回复,因为下位机无法识别该指令,因此需要转换为十六进制显示才可以。
首先,博主原方案如下链接,https://blog.csdn.net/sdweixiaocike/article/details/85088478
图片分别为我的改良方案与原方案,上面为我的实现,下面为博主的实现方案
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b17f3a799f8646588a482673ba20589a.png
首先,HEX控件设置为十六进制显示
我们来看一下运行效果
我们注意到,原博主方案低位A在进行显示时自动补了0,导致原本330的值,实际上变为了5130。、
当然在转换后的十六进制低于2位时,都可以正常转换
由此,我的问题得到了解决,非常感谢原博主提供的思路。不过labview这个十六进制是确实难用,也可能是本人比较菜。
labview里面的十六进制字符串,在正常情况下只是显示正常,当你发送给下位机时,就不行了。得将控件调为十六进制显示才可以。