应用场景
进制转换常用在串口通讯中的指令和响应字符串中,因为很多串口通讯协议中会用16进制数,导致我们上位机需要将字符串在10进制和16进制之间来回转换。但是labview中自带的函数并没有现成的函数可用,这需要我们自己去构建。
本文我会介绍应用场景较多的两个案例,供大家参考。
场景一:10进制显示16进制字符串转换成16进制显示16进制字符串
需求分析
上位机发送给串口的指令形式为16进制显示16进制字符串,当我们需要发送的字符串在Excel表格中记录时,它肯定是10进制显示的16进制字符串,因为Excel表格并没有16进制显示。
我们从Excel表格中读取的10进制显示的16进制字符串文本需要转换成16进制显示的16进制字符串文本。
代码展示
场景二:16进制显示16进制字符串转换成10进制显示10进制字符串
需求分析
上位机从串口读取的响应字符串为16进制显示的16进制字符串,我们需要对这一组数据进行解析。比如我们读取到了一组日期信息16进制显示的16进制字符“20240108”,当我们记录该日期,如果不做处理直接记录在文本文件中,肯定记录的是乱码文字。
所以我们需要先把它转换成我们非常熟悉的10进制显示10进制字符串文本。
代码展示
注:数值数组中的数值是u8类型
最后总结
文中的代码有借鉴csdn其他博主的文章,但是很多文章都没有介绍代码可能的应用场景,所以我就想着做一个简单的介绍。可能我的表述比较绕,大家现在不是很理解,等你们做项目时遇到类似的串口通讯问题,就能清晰的认知到你们需求的功能,到时候再回顾本篇文章也不迟。