简 介:本文测试了CIU32单片机的CRC模块功能,分别验证了32位和16位CRC计算模式。测试显示,在32位模式下计算114个32位数据后,将结果按位取反并重新计算四个字节,最终校验值为-1;改变初始值后该特性依然成立。16位模式下最终校验值为0xffff。实验结果表明,利用CIU32的CRC模块可为无线通信数据添加可靠校验,确保传输准确性。该功能适用于需要数据校验的通信场景。
关键词:CIU32,CRC
01【CIU32中的CRC】
一、测试背景
对于 CIU32单片机来说, 它内部有 CRC 模块。 下面利用手边的这个测试电路板, 测试一下CIU32单片机的 CRC 计算的基本功能。
二、测试结果
首先,设置CRC的计算模式为 32比特。 程序里设置了 114 可 32bit的数据, 下面计算 这 114 可数据的 CRC 校验值。 在程序中, 将数据数组按照 字节送到计算子程序。 计算完之后可以获得32位的结果。 接下来, 将这个结果按位取反, 再重新计算取反之后的四个字节。 查看一下最终的数据结果。 从计算结果来看, 如果计算所得到的数据正确的话, 最终得到的数据为 -1。
如果改变 CRC 初始化值, 所计算得到的 CRC结果是有区别的。 但是如果仍然将计算所得CRC结果, 按位取反之后再多计算四个字节, 最终的结果仍然为 -1。 利用这个特点, 可以对通讯中的字节增加校验的功能。
重新测试 16比特的模式, 结论仍然是一样的。 只是最终校验的结果是 0xffff。
※总结 ※
本文测试了 CIU32单片机中的 CRC 计算功能。 通过调用 CRC 计算, 可以对无线信道中的数据增加校验码, 保证通讯的可靠性。