CRC16校驗(C語言版和Java版)

2021-08-24 20:21:43 字數 648 閱讀 1365

crc 校驗對包長和資料報內容進行錯誤檢測,由 2 個位元組組成, 具體計算演算法如下所示:

c語言版:

unsigned short crc16(puchmsg, usdatalen) 

//unsigned char *puchmsg; /* 要進行 crc 校驗的訊息 */ 

//unsigned short usdatalen; /* 訊息中位元組數 */ 

return (uchcrchi << 8 | uchcrclo) ; 

}/* crc 高位位元組值表 */

static unsigned char auchcrchi = {

0x00, 0xc1, 0x81, 0x40, 0x01, 0xc0, 0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1,

0x81,

0x40, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x40, 0x01,

0xc0,

0x80, 0x41, 0x01, 0xc0, 0x80, 0x41, 0x00, 0xc1, 0x81, 0x40, 0x00, 0xc1, 0x81, 0x4

C 中的crc16校驗

private static ushort crctab new ushort 256 crc校驗公式 crc 傳送的資料序列 新crc private static ushort xcrc ushort crc,byte cp 新增crc校驗字 資訊串 不包括校驗字的串總長度 public sta...

crc16校驗演算法c語言 C語言和PLC的結合

如果要進行乙個 複雜運算 包括加減運算,但是運算步驟很多 尤其是需要重複使 用這個演算法處理資料時候,使用 c 函式功能塊將非常方便。舉個栗子 用公式 a b c b c c 3 d 完成運算。方法一 如果使用梯形圖編寫上述公式,處理步驟與程式如下 雖然只有以上三個步驟,但是梯形圖只支援兩個源運算元...

異或校驗和CRC16 校驗原始碼分享

我們在專案中,經常遇到上位機和裝置進行通訊的情況,很多通訊為了保證兩邊通訊不會存在錯誤,所以會引入 各種各樣的校驗。異或校驗和crc16校驗是其中的兩種。異或校驗 如下 異或校驗 private string xorcheack string str 運算xorresultxor校驗結 messag...