東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫|最新更新|下載分類|排行榜

搜索查詢電子工業(yè)辦公軟件壓縮解壓轉(zhuǎn)換翻譯時(shí)鐘日歷文檔管理電子閱讀漢字輸入文字處理刪除恢復(fù)計(jì)算器

首頁應(yīng)用軟件應(yīng)用其他 → modbus crc計(jì)算工具(Modbus CRC校驗(yàn)工具) 1.01 中文免費(fèi)版

modbus crc計(jì)算工具(Modbus CRC校驗(yàn)工具)

modbus crc計(jì)算工具(Modbus CRC校驗(yàn)工具)1.01 中文免費(fèi)版

  • 大小:259KB
  • 語言:中文
  • 平臺:WinXP
  • 更新:2014-12-09 16:52
  • 等級:
  • 類型:應(yīng)用其他
  • 網(wǎng)站:http://tipsywinegypsy.com
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評論下載地址

CRC-16(循環(huán)冗余錯(cuò)誤校驗(yàn))

  冗余循環(huán)碼(CRC)包含2個(gè)字節(jié),即16位二進(jìn)制。CRC碼由發(fā)送設(shè)備計(jì)算,放置于發(fā)送信息的尾部。接收信息的設(shè)備再重新計(jì)算接收到信息的CRC碼,比較計(jì)算得到的CRC碼是否與接收到的相符,如果兩者不相符,則表明出錯(cuò)。

  在進(jìn)行CRC碼計(jì)算時(shí)只用8位數(shù)據(jù)位。起始位、停止位、奇偶校驗(yàn)位都不參與CRC碼計(jì)算。

  計(jì)算CRC碼的步驟為:

 、 預(yù)置16位寄存器為十六進(jìn)制FFFF(即全為1)。稱此寄存器為CRC寄存器。

 、 把第一個(gè)8位數(shù)據(jù)與16位CRC寄存器的低位相異或運(yùn)算,把結(jié)果放于CRC寄存器。

 、 把寄存器的內(nèi)容右移一位,用0填補(bǔ)最高位,檢查最低位。

 、 如果最低位為0:重復(fù)第3步,再次右移一位;如果最低位為1:CRC寄存器與多項(xiàng)式A001(1010 0000 0000 0001)進(jìn)行異或運(yùn)算。

  ⑤ 重復(fù)步驟③和④,直到右移8次,這樣整個(gè)8位數(shù)據(jù)全部進(jìn)行了處理。

  ⑥ 重復(fù)步驟②到⑤,進(jìn)行下個(gè)8位數(shù)據(jù)的處理。

 、 最后得到的CRC寄存器的值即為CRC碼。

 、 將CRC碼分成高8位和低8位,按低位在先,高位在后,將它們加到傳送數(shù)據(jù)之后。

直接法生成代碼:

unsigned short crc_16(unsigned char *Array, unsigned char *Rcvbuf,unsigned int Len)

{

        unsigned int  IX,IY,CRC;

        CRC=0xFFFF;//set all 1


        if (Len<=0)

                CRC = 0;

        else

        {

                Len--;

                for (IX=0;IX<=Len;IX++)

                {

                        CRC=CRC^(unsigned int)(Array[IX]);

                        for(IY=0;IY<=7;IY++)

                        {

                                if ((CRC&1)!=0 )

                                        CRC=(CRC>>1)^0xA001;

                                else

                                        CRC=CRC>>1;    //

                        }

                }

   

        }

        Rcvbuf[0] = (CRC & 0xff00)>>8;//高位置

        Rcvbuf[1] = (CRC & 0x00ff);  //低位置


        CRC= Rcvbuf[0]<<8;

        CRC+= Rcvbuf[1];

        return CRC;

}


PC官方
安卓官方手機(jī)版
IOS官方手機(jī)版

modbus crc計(jì)算工具(Modbus CRC校驗(yàn)工具)截圖

下載地址

modbus crc計(jì)算工具(Modbus CRC校驗(yàn)工具) 1.01 中文免費(fèi)版

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)

編輯推薦

報(bào)錯(cuò)

請簡要描述您遇到的錯(cuò)誤,我們將盡快予以修正。

轉(zhuǎn)帖到論壇
輪壇轉(zhuǎn)帖HTML方式

輪壇轉(zhuǎn)帖UBB方式