单片机crc算法简单实用的单片机 CRC 快速算法 煤炭科学研究总院太原分院(030006) 韩 炬 摘 要 提供两个实用的、能够在单片机上通过软件来实现的 CRC 快速算法,其中一个适用于 51 系列等单片机,另一个适用于 PIC 单片机,这两种算法十分简单快捷。 关键词 CRC 1 引言 CRC(循环冗余码)检验技术广泛应用于测控及通信领域。在很多情况下,CRC 计算是靠 专用的硬件来实现的, 但是对于小型低成本的单片机系统来说, 若要在没有这些硬件的支持下 实现 CRC 检验,首先要解决的就是如何通过软件高效快速地完成 CRC 计算的问题,也就是 CRC 算法的问题。 这里将提供两种算法,它们稍有不同,一种适用于程序空间大一些的 51 系列等单片机, 另一种适用于程序空间的使用条件十分苛刻的 PIC 单片机。这些算法按字节进行计算,仅使 用查表和简单的异或运算等操作,所以,计算过程相当简捷,而计算速度却很快。 算法 单片机 下面先简述一下 CRC 原理, 然后再以 CRC-CCITT 标准生成多项式为例对算法进行说明, 并给出一个 51 系列单片机子程序和一个 PIC 单片机子程序。 2 CRC 原理 CRC 检验原理实际上就是在一个 p 位二进制数据序列之后附加一个 r 位二进制检验码(序 列),从而构成一个总长为 n =p+r 位的二进制序列,例如, p 位二进制数据序列 D= [dp-1dp-2 ...... d1d0 ],r 位二进制检验码 R= [rr-1 r r-2....r1 r0],所得到的这个 n 位二进制序 列就是 M=[dp-1dp-2 ......d1 d0 rr-1 rr-2....r1 r0 ]; 附加在数据序列之后的这个检验码与数据 序列的内容之间存在着某种特定的关系……
猜您喜欢
推荐帖子 最新更新时间:2024-11-13 04:16
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
热门标签
评论