一个加校验码的函数

2019-07-15 12:42发布

本帖最后由 18146682946 于 2016-11-1 20:02 编辑

你们好,想问一下这段代码是什么意思,是为了干嘛
uchar buff[12]={'%','0','1','#','0','0','0','0','0','0','0',' ',};

// 函数说明:加校验码函数

void crc(void)
{
    uchar j,i=0,k;
    for(j=0;j<9;j++)
    {
     i=buff[j];
     }
k=i>>4;
if(k>=0&&k<=9)
k=k+0x30;
else if(k>=10&&k<15)
k=k+0x41;
i=i&0x0f;
if(i>=0&&i<=9)
i=i+0x30;
else if(i>=10&&i<15)
i=i+0x41;

buff[9]=k;
buff[10]=i;}








补充内容 (2016-11-2 16:04):
  程序第六行写错了,是i=i^buff[j];
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
lee_st
1楼-- · 2019-07-15 17:03
这段代码是实现crc校验的 最佳答案

评分

参与人数 1积分 +20 收起 理由 ElecFans处女座 + 20

查看全部评分

18146682946
2楼-- · 2019-07-15 18:48
lee_st 发表于 2016-11-9 17:15
这段代码是实现crc校验的

谢谢,是的,现在搞明白了。
lee_st
3楼-- · 2019-07-16 00:15
恩,明白就好,呵呵

一周热门 更多>