搜索
bottom↓
回复: 5

关于CRC—16校验的资料和参考程序

[复制链接]

出0入0汤圆

发表于 2008-7-18 09:28:33 | 显示全部楼层 |阅读模式
CRC的计算原理是将欲传输的数据块视为一堆连续位所构成的整个数值,将此数值除以一个特定的除数,此除数称为生成多项式(ANSI CRC-16的生成多项式为:x16 + x15 + x2 + 1)。目前较常用的CRC位数目有8和16以及32,附件所附的是在Win32测试过的程序,希望有所帮助。当然有需求的话我可以提供部分源代码。
具体算法如下:
1、定义一个初始值为0xFFFF的16位的变量,该变量称为CRC寄存器
2、把欲发送或接收消息的高8位和CRC寄存器的底8位作异或运算,并把结果在赋到CRC寄存器。
3、CRC寄存器右移1位,同时最高位添零。取出并检查最低位是否为1。
4、如果为1,则CRC寄存器与多项式0xA001异或;如果为0,则重复第3步。
5、重复3和4直到完成了8次移位。这样完整的8位字节将完成处理了。
6、对于下一个8位字节的处理就是重复第2步到第5步了
7、把所有的欲发送或接收消息这样处理后, CRC寄存器里的值就是我们最终需要得到的CRC校验码。

点击此处下载 ourdev_351012.rar(文件大小:383K) (原文件名:CRC_16_Check.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2008-7-21 14:15:28 | 显示全部楼层
我想知道楼主你是哪位?

出0入0汤圆

 楼主| 发表于 2008-7-21 15:29:31 | 显示全部楼层
我们很熟,希望你能够把这个论坛做好,我有时间会经常光顾的。共同努力。

出0入0汤圆

发表于 2008-10-9 10:50:54 | 显示全部楼层
再添加点程序应用资料

点击此处下载 ourdev_444810.pdf(文件大小:28K) (原文件名:crc校验原码分析.pdf) 

点击此处下载 ourdev_444811.pdf(文件大小:111K) (原文件名:循环冗余校验 CRC 的算法分析和程序实现(PDF).pdf) 

出0入0汤圆

发表于 2009-8-17 23:28:20 | 显示全部楼层
thx for share.
头像被屏蔽

出0入0汤圆

发表于 2010-2-14 21:02:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 23:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表