標題: 向大神們請教關(guān)于校驗和計算的問題 [打印本頁]

作者: 稻草人008    時間: 2022-11-29 11:31
標題: 向大神們請教關(guān)于校驗和計算的問題
各位老師,這串數(shù)值,最后兩位是校驗和。怎么計算。列文是這樣的 AA A3 01 00 CE 00 04 00 00 00 83 5B 。
按技術(shù)指導是這樣的
  字  內(nèi)容
  1  數(shù)據(jù)頭(低字節(jié))0xAA
  2  數(shù)據(jù)頭(高字節(jié)) 0xA3
  3  地址信息0x1 或 0x2
  4  

  5  s信號
  6  

  7  數(shù)值(低字節(jié))
  8數(shù)值(高字節(jié))
  9  預(yù)留正常 為0x00
  10  

  11  校驗和從頭開始 ,和為0
  12  校驗和一個字
我用了很多方法算出結(jié)果和列文的就是不一樣請幫忙看看。謝了


作者: munuc_w    時間: 2022-11-29 14:56
算法不知道如何算校驗和!拍腦門吧!
作者: wulin    時間: 2022-11-29 15:01
校驗和計算取決于你的通訊協(xié)議。常見校驗和 = ((取反(字節(jié) 1+字節(jié) 2+……+字節(jié) n)) + 1)%256。
作者: wulin    時間: 2022-11-29 15:19
AA A3 01 00 CE 00 04 00 00 00 83 5B 此校驗和算法可能是:校驗和 =( (取反(字節(jié) 1+字節(jié) 2+……+字節(jié) n))-1)%256。校驗和=((~0x2a3)-1)%256=0x5b
作者: 稻草人008    時間: 2022-11-29 17:30
munuc_w 發(fā)表于 2022-11-29 14:56
算法不知道如何算校驗和!拍腦門吧!

有什么辦法嗎

作者: 稻草人008    時間: 2022-11-29 17:31
wulin 發(fā)表于 2022-11-29 15:19
AA A3 01 00 CE 00 04 00 00 00 83 5B 此校驗和算法可能是:校驗和 =( (取反(字節(jié) 1+字節(jié) 2+……+字節(jié) n)) ...

十分感謝,我試試
作者: 稻草人008    時間: 2022-11-29 18:38
稻草人008 發(fā)表于 2022-11-29 17:31
十分感謝,我試試

你好,在打擾下,有兩個問題,
AA A3 01 00 CE 00 04 00 00 00 83 5B
第一,按技術(shù)指導,第11位也是校驗和。這83怎么來的
第二。我按你的方法 NOT(2A3)-1%256=FD5B怎么不等與0X5B。哪里錯了,請指導一下

作者: Hephaestus    時間: 2022-11-29 18:47
不像校驗和,更像是CRC16,把不同多項式CRC16算法都拿來試一下吧。
作者: 稻草人008    時間: 2022-11-30 10:59
Hephaestus 發(fā)表于 2022-11-29 18:47
不像校驗和,更像是CRC16,把不同多項式CRC16算法都拿來試一下吧。

你好,能介紹個軟件或網(wǎng)址嗎
作者: wulin    時間: 2022-11-30 14:52
稻草人008 發(fā)表于 2022-11-29 18:38
你好,在打擾下,有兩個問題,
AA A3 01 00 CE 00 04 00 00 00 83 5B
第一,按技術(shù)指導,第11位也是校 ...

0xFD5B%256,%取余數(shù)。舍棄高8位,保留低8位不就是0x5B,沒有錯啊。腦筋轉(zhuǎn)不過來?實際運算結(jié)果是0xa3,溢出部分自動消失。0xa3取反=0x5c,0x5c-1=0x5b。
作者: yzwzfyz    時間: 2022-11-30 17:14
校驗是有方式的,方式有千百種。所以在此之前必須有個協(xié)議,對此進行規(guī)定。
所以在回答你的問題之前,你能給出校驗的協(xié)議嗎?
我自己也定義過一種:將所有字節(jié)的異或值作CRC的高字節(jié),將所有字節(jié)的算術(shù)和作CRC的低字節(jié)。這也是一種方案。

作者: Y_G_G    時間: 2022-11-30 21:31
為什么會有這個問題呢?
你的數(shù)據(jù)是怎么來的?上位機?串口?還是其它的外圍器件?
如果有,看數(shù)據(jù)手冊不就行了
如果你什么都沒有,那要這個器件干嘛呢?
作者: Hephaestus    時間: 2022-11-30 21:57
真是服了你們了,這么簡單的加法問題怎么就沒人能算一算?
A3AA + 1 + CE + 4 + 5B83 = 0 (去掉溢出的最高位)。

就是個最簡單的校驗和,跟intel HEX文件計算方法完全一樣!
作者: 稻草人008    時間: 2022-12-2 17:01
Hephaestus 發(fā)表于 2022-11-30 21:57
真是服了你們了,這么簡單的加法問題怎么就沒人能算一算?
A3AA + 1 + CE + 4 + 5B83 = 0 (去掉溢出的最 ...

十分感謝,這方法是對的,
作者: 稻草人008    時間: 2023-1-16 15:54
Hephaestus 發(fā)表于 2022-11-30 21:57
真是服了你們了,這么簡單的加法問題怎么就沒人能算一算?
A3AA + 1 + CE + 4 + 5B83 = 0 (去掉溢出的最 ...

AA AA 7E 5E 55 02 33 01 01 00 EF 03 00 00 55 02 36 01 00 00 F6 03 00 00 86 11 24 00 1F 01 00 00 00 00 00 00 16 D5
老師你好,能在幫我看看這像什么校驗碼。最后兩位也是校驗數(shù)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1