通信人家园

标题: crc编码  [查看完整版帖子] [打印本页]

时间:  2020-9-22 16:52
作者: 魯同學5937     标题: crc编码

crc编码教程

RC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验。因此,掌握基本的CRC算法应是嵌入式程序员的基本技能。可是,我认识的嵌入式程序员中能真正掌握CRC算法的人却很少,平常在项目中见到的CRC的代码多数都是那种效率非常低下的实现方式。

其实,在网上有一篇介绍CRC 算法的非常好的文章,作者是Ross Williams,题目叫:“A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS”。我常将这篇文章推荐给向我询问CRC算法的朋友,但不少朋友向我抱怨原文太长了,而且是英文的。希望我能写篇短点的文章,因此就有了本文。不过,我的水平比不了Ross Williams,我的文章肯定也没Ross Williams的写的好。因此,阅读英文没有障碍的朋友还是去读Ross Williams的原文吧。

本文的读者群设定为软件开发人员,尤其是从事嵌入式软件开发的程序员,而不是专业从事数学或通讯领域研究的学者(我也没有这个水平写的这么高深)。因此,本文的目标是介绍CRC算法的基本原理和实现方式,用到的数学尽量控制在高中生可以理解的深度。

另外,鉴于大多数嵌入式程序员都是半路出家转行过来的,不少人只会C语言。因此,文中的示例代码全部采用C语言来实现。作为一篇入门短文,文中给出的代码更注重于示范性,尽可能的保持易读性。因此,文中的代码并不追求最高效的实现,但对于一般的应用却也足够快速了。




附件: [crc编码教程] CRC.rar (2020-9-22 16:50, 5.93 MB) / 下载次数 9
https://www.txrjy.com/forum.php?mod=attachment&aid=NDU2MjE2fDA5YWRkY2E5fDE3MzIyMjEwMjd8MHww
时间:  2020-9-23 07:13
作者: 777888999

找了很久
时间:  2021-5-21 11:17
作者: lifukai

感谢楼主好人一个

时间:  2022-6-8 20:13
作者: fjh_dream

谢谢分享

时间:  2022-12-7 14:57
作者: as315315as

学习学习
时间:  2023-9-28 16:26
作者: mememezzx

找了很久,没有一定专业基础和专业术语的理解,读原文确实有难度

时间:  2024-4-28 16:32
作者: zhengchenem






通信人家园 (https://www.txrjy.com/) Powered by C114