中易网

CRC编码编程实验

答案:1  悬赏:40  
解决时间 2021-12-29 06:46
内容:用C或VC语言设计CRC编码和校验程序目的:通过编程加深对CRC编码认识
最佳答案
在用C 语言编写CRC 校验码的实现程序时我们应该注意,生成多项式 对应的十六进制数为0x18005,由
于CRC 寄存器左移过程中,移出的最高位为1 时与 相异或,所以与16bit 的CRC 寄存器对应的生成多项
式的十六进制数可用0x8005 表示。下面给出并行处理8bit 数据流的C源程序:
unsigned short crc_dsp(unsigned short reg, unsigned char data_crc)
//reg 为crc 寄存器, data_crc 为将要处理的8bit 数据流
{
unsigned short msb; //crc 寄存器将移出的最高1bit
unsigned short data;
unsigned short gx = 0x8005, i = 0; //i 为左移次数, gx 为生成多项式
data = (unsigned short)data_crc;
data = data << 8;
reg = reg ^ data;
do
{
msb = reg & 0x8000;
reg = reg << 1;
if(msb == 0x8000)
{
reg = reg ^ gx;
}
i++;
}
while(i < 8);
return (reg);
}
以上为处理每一个8bit 数据流的子程序,在计算整个数据流的CRC 校验码时,我们只需将CRC_reg 的初
值置为0x0000,求第一个8bit 的CRC 值,之后,即可将上次求得的CRC 值和本次将要处理的8bit 数据作
为函数实参传递给上述子程序的形参进行处理即可,最终返回的reg 值便是我们所想得到的整个数据流的
CRC 校验值。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
多此一举的意思是什么啊?请解释下!
篤敏的意思是什么?篤敏的释义是什么啊?
考公务员听哪个电台好
北京六号线常营东南出口是abcd那个出口
追根尋底的意思是什么?追根尋底的释义是什么
surface pro3可以维修吗
火兜墙的意思是什么?火兜墙的释义是什么啊?
请问泉州这哪有学做蛋糕的地方?
北京市丰台区云岗可以办公交卡吗
染戕的意思是什么?染戕的释义是什么啊?
一张正方形铁皮的边长是20厘米剪去一个宽8厘
香港九龙尖沙咀北京道18—20号凯悦酒店地下太
672除以12×306用简便方法计算
卉汨的意思是什么啊?请解释下!
打架双方耳膜穿孔该怎么解决
推荐资讯
桑枣如何浸酒
鸡菌的意思是什么啊?请解释下!
鲍肆的意思是什么啊?请解释下!
霍林郭勒市第一小学地址有知道的么?有点事想
穷窭子的意思是什么啊?请解释下!
断顿的意思是什么?断顿的释义是什么啊?
五吏的意思是什么?五吏的释义是什么啊?
谁清楚86型插座暗盒尺寸是多少?
如果老公总查钱的去向,代表什么?
i5游戏配置,重发求解!!!
徐香平商务酒店地址有知道的么?有点事想过去
剔髮工的意思是什么?剔髮工的释义是什么啊?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?