2012年2月28日

C# CRC8的实现(原创)

摘要: 最近由于要做一个串口控制类的上位机程序,需要用CRC校验发送和接收的数据,于是上网搜相关内容,发现此类文章并不多,都是互相抄袭,没有自己的想法,我于是就自己仔细思考和实验了一下,发现并不难实现。CRC的原理:不准确的说就是用数据包除以CRC多项式。数据包不用说了,CRC多项式是什么呢?CRC多项式就是一个8bit的数,要求最高位是1,因此CRC16的CRC多项式就是16bit,CRC32的CRC多项式就是32bit。那么怎么除呢?就是把数据包和CRC多项式按位异或,一直异或到最后一位,最后结果就是CRC的值。废话不多讲,举一个例子看看:CRC多项式取0x85,即1000 0101数据包取b.. 阅读全文

posted @ 2012-02-28 14:25 胡茂晓 阅读(5261) 评论(1) 推荐(1) 编辑

导航