LabVIEW 实现 CRC 校验
![LabVIEW实现CRC校验](https://static001.geekbang.org/infoq/9a/9a22e2229a923e4fe71d33ac54b4e1a7.jpeg)
CRC(循环冗余校验),是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。
关于 CRC 校验的实验原理这里不再赘述,百度上有很多的解析,本篇博文主要讲解在 LabVIEW 环境中如何实现 CRC 校验。
本篇博文介绍两种方法实现 CRC 校验:内部控件计算 CRC 校验和公式节点计算 CRC 校验。
软件计算(注意 CRC 高低位顺序)效果如下图所示:
![](https://static001.geekbang.org/infoq/f7/f7f2dfe099d93dae0ef521fb7ed79931.png)
1、内部控件计算 CRC 校验
使用内部控件计算 CRC 校验就是使用基本的运算组件实现算法计算过程。
![](https://static001.geekbang.org/infoq/18/188dc4eebb3472e9efaa0807d02ba76d.png)
实现代码如下所示:
![](https://static001.geekbang.org/infoq/04/04366af38e57d775bd841a8ccaa531f7.png)
2、公式节点计算 CRC 校验
使用公式节点计算 CRC 校验,这里主要依托于:公式节点。公式节点可以实现在程序框图上计算数学公式或者使用 C 语言进行数值运算。
![](https://static001.geekbang.org/infoq/d9/d9ec8cca19a6b850ed687b27bd3ce824.png)
这里我使用 C 语言编程实现 CRC 校验算法,通过 LabVIEW 输入数值和接收 C 语言算法输出数值,实现代码如下所示:
![](https://static001.geekbang.org/infoq/03/0371149577354f0ab486e6b33614fd5a.png)
版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/c398b6d7c489bb43f0d9c858c】。文章转载请联系作者。
评论