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例程的主要内容,如果未能解决你的问题,请参考以下文章

CMT2380F32模块开发16-CRC16例程

CMT2380F32模块开发19-LVD例程

CMT2380F32模块开发19-LVD例程

CMT2380F32模块开发19-LVD例程

CMT2380F32模块开发8-Base Timer例程

CMT2380F32模块开发8-Base Timer例程