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