本文主要是介绍CRC16计算详解与Labview实现方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
@CRC16按字节计算原理
CRC的实现原理在这里不再赘述,本节介绍个人理解的CRC按字节计算的原理。
参考文章
参考文章
下表中+号代表异或运算![CCITT按字节计算原理图
![CRC按字节计算原理图
以上为正向CRC计算,若为反向CRC计算则可将X7、X6~1、0及其对应列左右完全互换即可,互换完毕后,左右公式中的左移改为右移。
以上程序中MAXIM为CRC16反向计算,0xA001即0x8005的反向值;CCITT为CRC16CCITT反向计算,XMODEM为CRC16CCITT正向计算。其它类型的CRC16校验码计算可根据以上三种形式变换得出。
由于CRC16在过程中计算字节对应的CRC值运算量较大,所以直接采用查表法,而CCITT采用CRC实时计算的方式。
按字节计算的效率相比按位计算效率约高10倍。
这篇关于CRC16计算详解与Labview实现方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!