作者august8585 (我操你個花開富貴)
看板comm_and_RF
標題[問題] CRC的問題
時間Thu Feb 25 14:19:49 2010
不知道這個問題適不適合發在這個版,請各位見諒
前言--------------------------------------------------------
小弟不是通訊相關科系學生,因為最近實驗室需要寫儀器控制的程式
所以開始研究CRC的相關知識,但是因為網路上對於CRC的整理有些雜亂
所以有些問題想要請問板上的強者們
首先小弟是利用Labview來撰寫CRC,並參考這個網站的CRC結果計算值
http://www.lammertbies.nl/comm/info/crc-calculation.html
並請教有相關經驗的朋友
正題--------------------------------------------------------
以舉例來說
如果我將hex的D來做CRC-CCITT XModem(0x1021)來運算的話
也就是CRC poly = 1 0001 0000 0010 0001
1101 0000 0000 0000 0000
1000 1000 0001 0000 1
-----------------------------
101 1000 0001 0000 10
100 0100 0000 1000 01
-----------------------------
01 1100 0001 1000 1100
1 0001 0000 0010 0001
-----------------------------
1101 0001 1010 1101
得到 "D1AD" 跟網站上的符合
而我的程式也可以得到同樣的結果
不知道這樣對於基本上CRC的運算有沒有甚麼問題
但是我查了一下發現我們所使用的機器是使用CRC-CCITT 0xFFFF(應該是吧....汗)
這樣子的意思應該是說我的CRC Poly應該用甚麼呢??
按照字面上的意思是說我應該用"FFFF"??
可是這樣計算下來無論我用手計算還是用程式計算都會得到"FFF9"
但是網站上給我的值卻是"305D"
所以我在想我是不是甚麼觀念的地方搞錯了
請各位強者能夠指導一下小弟嗎??
先謝謝各位了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.120.138