MODBUS的crc校验出错 5

我的MODBUS的CRC校验,8个字节,发现当被校验的数据<128时,校验正确,但是只要有数据>=128校验就出错,请教专家是怎么回事?算法肯定没问题,都是从网上抄下来的... 我的MODBUS的CRC校验,8个字节,发现当被校验的数据<128时,校验正确,但是只要有数据>=128校验就出错,请教专家是怎么回事?算法肯定没问题,都是从网上抄下来的。数据存放在SendBuffer数组中
void crc_check(unsigned char crc_data)
{
bit xor_flag=1;
unsigned char m;
unsigned int crc_num;
crc_result^=crc_data;
crc_num=crc_result;
crc_num&=0x0001;
for(m=0;m<8;m++)
{
if(crc_num)
xor_flag=1;
else
xor_flag=0;
crc_result>>=1;
if(xor_flag)
crc_result^=0xa001;
crc_num=crc_result;
crc_num&=1;
}
}

bit MODBUSCRC()
{
unsigned char i,num;
crc_result=0xffff;
for(i=0;i<8;i++)
crc_check(SendBuffer[i]);
if(crc_result==0)
return 0;

}
展开
 我来答
匿名用户
2013-11-20
展开全部
网络上源码很多,但很多有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-08
展开全部
了解原理,最重要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式