|
一路向前hg
相互學習,共同進步!
級別: 略有小成
|
想請教各位大師,這個CRC校驗碼到底有啥用,是如何計算 我用串口調試助手發送 讀取MODBUS溫控器溫度 00 03 0000 0004 沒有填寫校驗碼,助手上校驗碼哪里就自動得出5C44 發送完后溫控器返回: 04 03 08 00DB 00DD 00CF 00D2 B3 67 B367事校驗碼 那么問題是: 1助手上5C44是怎么出來的 2溫控器返回B367是怎么算的 3為什么我不發送效驗碼溫控器也能返回數值 |
|
|---|---|---|
|
|
微鑫科技
級別: 正式會員
|
unsigned int MOD_BUS(void)//MODBUS校驗碼計算函數 { unsigned int x=0xffff; unsigned char i,n; for(i=0;i<12;i++)//這里的12是指有12個數據,根據不同的數據量做適當的修改 { x^=SYS_DATA; for(n=0;n<8;n++) { if(x&0x01) { x=(x>>1)^0xa001; } else { x=x>>1; } } } return x; } 這個就是。 |
|---|---|
|
|