CMT2380F32模块开发16-CRC16例程
Posted andylauren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMT2380F32模块开发16-CRC16例程相关的知识,希望对你有一定的参考价值。
先说一下trim模块。
CLK_TRIM(Clock Trimming)模块是一个专门用来校准/监测时钟的电路。在校准模式下选择精准的时钟源来校准不精准的时钟源,反复校准,调节不精准时钟源的参数,直到被校准时钟源的频率达到精度要求。校准模式下计数值会有一定的误差,但是在允许的精度误差范围内。在监测模式下选择稳定的时钟源来监测系统工作时钟,在设定的监测周期下,监测系统工作时钟是否有失效的情况发生并产生中断。
因为没有外部晶振,所以这里例程略过。
CRC16
循环冗余校验(CRC)计算单元是根据固定的生成多项式得到任意字节数据的CRC计算结果。在应用中, CRC技术主要应用于核实数据传输或者数据存储的正确性和完整性。
本样例展示CRC16的编码及校验功能,样例中的测试数据来自CRC16编解码软件。具体算法为CRC-16/X25。
编码部分
/*******************************************************************************
* CRC 编码测试
******************************************************************************/
en_result_t CrcCodingTest(void)
uint16_t u16CrcResult = 0;
en_result_t enResult = Error;
u16CrcResult = CRC16_Get8(au8CrcTestData, u32TestDataLen);
if (u16RefCrc16 == u16CrcResult)
enResult = Ok;
return enResult;
校验部分
/*******************************************************************************
* CRC 校验测试
******************************************************************************/
en_result_t CrcCheckTest(void) return CRC16_Check8(au8CrcTestData, u32TestDataLen, u16RefCrc16);
以上是关于CMT2380F32模块开发16-CRC16例程的主要内容,如果未能解决你的问题,请参考以下文章