作者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