zycyhwan
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點(diǎn)
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看zycyhwan的 主題 / 回貼
樓主  發(fā)表于: 2010-07-02 21:22
圖片:
各位好,這個CRC CHECK是怎么算出來的??我一同學(xué)問我,我完全不懂啊謝謝。
zycyhwan
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點(diǎn)
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看zycyhwan的 主題 / 回貼
1樓  發(fā)表于: 2010-07-03 17:09
圖片:
圖片:
圖片:
引用
引用第1樓cvlsam于2010-07-03 05:47發(fā)表的  :
這個是Modbus RTU CRC16,套用的多項(xiàng)式為X16+X15+X2+1

算法為:將初始數(shù)據(jù)設(shè)置為FFFF,然后,將第一個數(shù)據(jù)H05與初始數(shù)據(jù)做異或,結(jié)果保存在CRC寄存器中。
               將CRC中的數(shù)據(jù)右移,直到Flag位為1,將結(jié)果與多項(xiàng)式進(jìn)行異或,保存在CRC寄存器,然后CRC寄存器中的數(shù)據(jù)繼續(xù)右移,直到Flag為1,然后繼續(xù)上面這一步,直到第一個數(shù)據(jù)處理完畢。此時,裝入第二個數(shù)據(jù),繼續(xù)上述過程,直到所有的數(shù)據(jù)處理完畢。

.......

這位大哥,你說的多項(xiàng)式為1 1000 0000 0000 0101嗎?你說的直到Flag位為1怎么說,我算來算去都不正確,如上圖。

2. 我按臺達(dá)變頻器說明書的做法算了十幾頁也不正確,接近崩潰。

3. 按你的提示,我下載了個CRC計(jì)算器,可那個“字符串”要填多少??問題多了點(diǎn),請見諒。
zycyhwan
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點(diǎn)
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看zycyhwan的 主題 / 回貼
2樓  發(fā)表于: 2010-07-03 21:19
引用
引用第4樓cvlsam于2010-07-03 18:00發(fā)表的  :
另外,樓主找的CRC16工具中的多項(xiàng)式為H8408,多項(xiàng)式為X16+X10+X4并非臺達(dá)使用的,臺達(dá)使用的多項(xiàng)式為HA001.

所以是不會得到與教程中相符的結(jié)果的。

Regards

謝謝樓上的大哥,我不敢再算這個了,還是讓軟件自己算了