CRC校验

2019-07-20 20:28发布

uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength)
函数功能:用于计算多个 32 位数的 CRC

函数参数: pBuffer[] 缓冲区地址
BufferLength 缓冲区长度

函数返回:返回一个 32 位的 CRC 计算结果。

请问一下,这个函数的函数返回值只有一个32 位的 CRC 计算结果,它是把数组里面的所有数组合在一起进行的CRC校验码,要数组里面的每个数都做一次CRC校验的话,应该返回多个32 位的 CRC 计算结果呀?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
无休
1楼-- · 2019-07-21 19:12
crc校验是面向字节的,常用的有CRC-8,CRC-16,CRC-32,就是将一串数据流传至函数进行校验,选择crc-8,返回的值就是一个字节,选择crc-16,获得的就是一个16位数,同理,32位就是返回的一个32位值,而返回的结果跟数据流的多少是无关的,都是根据你选择校验的位数来返回对应的结果!
shjzqbx
2楼-- · 2019-07-21 21:01
feng_dou 发表于 2016-8-26 15:10
所有数据组成一个数和生成码进行异或校验吗?

单片机常用的校验  就是 加校验  和  异或检验   这两种速度比较快
如果是crc8 crc16。。。需要查表的,简单通信不需要这样麻烦
mackyming
3楼-- · 2019-07-21 21:31
 精彩回答 2  元偷偷看……
xkwy
4楼-- · 2019-07-22 02:24
 精彩回答 2  元偷偷看……
无休
5楼-- · 2019-07-22 02:59
xkwy 发表于 2016-8-27 06:57
你再查一下资料吧,
(引自百度百科)
全文有提到过字节的概念了吗?

。。我只是简单的说明一下,并没有全面的给出crc原理,都是按自己的理解来解释这个东西的,并没有强调我的解释是绝对性和唯一性,不明白你想表达什么

一周热门 更多>