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); }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值