[ufun学习] [忙里偷闲学习ufun_12]循环冗余校验CRC——数据的福音

boming   2016-8-10 19:42 楼主
源代码还是在前一节中下载。[忙里偷闲学习ufun_8]uarst1串口——调试小技巧
https://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=497317&extra=page%3D1%26filter%3Dtypeid%26typeid%3D440

循环冗余校验CRC原理:校验一组数据是否出错,一般用于通信,在通信过程中,发送完数据后,再加上检验码一起发送。接收到数据一端再结数据进行检验,与检验码是否一样。如果不一样,说明有数据丢失。

只有两段代码。
配置
void CRC_Config(void)
{
        /* Enable CRC clock */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
}
使用
                /* Compute the CRC of "DataBuffer" */
                for(i=0; i
                {
                        CRCValue = CRC_CalcBlockCRC((uint32_t *)DataBuffer, BUFFER_SIZE);
                        printf("\r\n32-bit CRC 校验码为:0X%X\r\n", CRCValue);
                }
                printf("\r\nCRC(循环冗余校验)测试成功\r\n");


回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复