labview实现16进制数据相加取反,取低16位校验

之前探讨过通过labview实现取补码的功能,今天来探讨一下,通过labview实现16进制数据取反相加取低16位的方法。

在日常调试中我们会遇到各种校验方式,如果把他们集成到我们自己写的程序里,实现指令的收发是我们需要注意的,这里我们通过移位寄存器的方式实现各个16进制的相加,因为我这里16进制存储在U8的字节数组中,我先给他转换成U64的数据在进行相加,这样就不会担心溢出的问题。

解决了相加,接下来就要解决取反的操作,这里还是习惯把16进制转换成二进制,在由二进制与1异或的方式来进行取反操作。需要注意的是,这里我们不知道相加之后的数据是否有16位,因此在这里加了一个判断,当相加后的数据字符串长度大于等于16时,我们只需要截取字符串从后往前数的16位数据就可以了,当相加之后的数据没有16位的时候,这里就需要在前面进行补0操作,差几位数据我们就在前面补几个0,这样在进行取反操作。

操作之后,我们再给他加一个校验,先判断他的字符串长度是否为我们需要的16位,如果不是证明校验错误,这里加了一个弹窗,如果等于16,我们在进行下一步操作,取反之后我们再通过扫描值字符串把二进制数据转换成数值,再由格式化写入字符串函数,把数值转换成16进制字符串,因为这里取低字节在前,我们需要把两个字节数据进行一下互换,这样就得到了校验码。最后再把它转换成U8数组进行输出就好了。

相关推荐
LabVIEW开发3 天前
LabVIEW无线温湿度监测
labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
检测PXI系统是否在线的方法
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
防止LabVIEW前面板被截图:从拦截Print Screen到重构防护边界
labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
LabVIEW弹窗子VI如何记住上次输入的数值
labview·labview知识·labview功能·labview程序
LabVIEW开发6 天前
LabVIEW数据预判故障 减摇鳍智能预维
labview·labview知识·labview功能
电气_空空7 天前
基于LabVIEW 平台的通用数据采集卡的驱动方法及数据采集
labview
LabVIEW开发11 天前
8 个字节读回一个温度:KELLER 高温计的 LabVIEW 实现
labview·labview知识·labview功能·labview程序
LabVIEW开发11 天前
从饱和升温曲线到参数辨识:在LabVIEW中拟合y=a(1-e^(-bx))
算法·labview·labview知识·labview功能·labview程序
LabVIEW开发14 天前
深海高压舱里的“顺风耳“:LabVIEW 实时水声采集
网络·labview·labview知识·labview功能·labview程序
2601_9622845014 天前
利用Python语言实现实验室自动化
python·自动化·数据采集·labview·科学计算