久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10047|回復: 7
收起左側

CRC8的疑惑,如何算出0x01=0x5E的?

[復制鏈接]
ID:5052 發表于 2008-11-25 14:02 | 顯示全部樓層 |閱讀模式
請問哪位老大能詳細描述下 原碼 0x01 如何以CRC8,標準多項式 X8+X5+X4+1 手工計算,算出CRC碼 0x5E 的?
回復

使用道具 舉報

ID:1 發表于 2016-4-7 03:54 | 顯示全部樓層
循環冗余校驗(CRC)算法入門引導:http://www.zg4o1577.cn/bbs/dpj-47737-1.html
最通俗的CRC校驗原理剖析:http://www.zg4o1577.cn/bbs/dpj-47736-1.html
CRC8校驗分析:http://www.zg4o1577.cn/bbs/dpj-47738-1.html
回復

使用道具 舉報

ID:346116 發表于 2018-11-5 16:03 | 顯示全部樓層
這個校驗方法是屬于CRC-8/MAXIM,多項式就是提到的X8+X5+X4+1(簡記31),CRC初值為0x00。其步驟如下所述:
1)初值CRC=0x00
2)CRC與待驗數據異或并判斷最低位真假,若是真則執行第3步,若是假執行第4步
3)CRC與0x18異或再右移一位再與0x80按位或運算,執行第5步
4)CRC右移一位,執行第5步
5)待驗數據右移一位,執行第6步
6)判斷第5步是否已經執行8次,若8次,本次計算結束,若沒夠8次,執行第2步

這個步驟是對一個字節的校驗。下面給出C的代碼,可對一串數據進行校驗。
#include <stdio.h>
#include <stdlib.h>
/*
函數名稱:get_crc
說    明:對數據幀進行CRC-8MAXIM校驗,多項式31(簡記)
入    口:待校驗數據字節地址msg,待校驗數據個數msg_length
出    口:無
返    回:1個字節的CRC結果
*/
unsigned char get_crc(unsigned char *msg,unsigned char msg_length)
{
    unsigned char crc=0;//初值
    unsigned char data;//臨時數據變量
    while (msg_length--)//待校驗數據數量
    {
        data = *msg++;//更新需要檢驗的數據
        for (unsigned char i = 0;i < 8;i++)//一字節數據逐位校驗
        {
            if((crc^(data))&0x01)
            {
                crc ^= 0x18;
                crc >>= 1;
                crc |= 0x80;
            }
            else
            {
                crc >>= 1;
            }
            data >>= 1;
        }
    }
    return crc;
}


int main()
{
    unsigned char crc = 0x01;
    crc = get_crc(&crc,1);
    printf("0x%02x\n",crc);//對0x01CRC8校驗,結果為0x5e
    system("pause");
    return 0;
}
手動演算的你按照步驟來,不會有錯的。有錯也是你不夠細心和沒有耐心。祝你好運氣!
回復

使用道具 舉報

ID:707914 發表于 2022-4-23 10:50 | 顯示全部樓層
輸入的數據要反轉,計算出的結果也要反轉,多項式:X8+X5+X4+1中的X8只是表達時更簡潔隱藏了,但不等于這一位不要。所有模式的多項式這一位都隱藏了,計算時一定要加上。
回復

使用道具 舉報

ID:168971 發表于 2023-7-24 20:34 | 顯示全部樓層
little4_su 發表于 2018-11-5 16:03
這個校驗方法是屬于CRC-8/MAXIM,多項式就是提到的X8+X5+X4+1(簡記31),CRC初值為0x00。其步驟如下所述: ...

感謝大佬的無私奉獻
回復

使用道具 舉報

ID:561623 發表于 2023-7-26 09:06 | 顯示全部樓層
little4_su 發表于 2018-11-5 16:03
這個校驗方法是屬于CRC-8/MAXIM,多項式就是提到的X8+X5+X4+1(簡記31),CRC初值為0x00。其步驟如下所述: ...

一直搞不明白crc效驗原理,看了這個代碼才明白,原來是統計數據中1的個數,
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品久久 | 亚洲国产精品第一区二区 | 精品一区二区免费视频 | 一区欧美 | 婷婷五月色综合香五月 | 久久久黄色 | 999国产视频 | 日韩伦理一区二区三区 | 欧产日产国产精品v | 久热免费在线 | 色婷婷久久久久swag精品 | 国产一二三区在线 | 国产精品国产成人国产三级 | 成人a在线观看 | 99视频在线 | 午夜精品久久久 | 国产精品久久久久aaaa樱花 | 国产精品91久久久久久 | 午夜激情视频 | 99久久免费观看 | 古装三级在线播放 | 日韩精品一区二区三区 | 久久久久久高潮国产精品视 | 亚洲精久久 | 欧美日韩高清一区 | 日韩av中文 | 免费观看一级特黄欧美大片 | 亚洲高清一区二区三区 | 亚洲精品99999 | 精品av天堂毛片久久久借种 | 精品乱子伦一区二区三区 | 午夜影院在线观看视频 | 国产xxx在线观看 | 久久免费精品 | www.中文字幕av| 国产一区精品 | 欧美日韩在线视频观看 | 精品国产伦一区二区三区观看体验 | 亚洲资源站 | 伊人在线 | 国产一区二区三区www |