2013-11-28 15 views
0

我想在TCL腳本的CRC來caculate這個框架:Calulate CRC幀

00000A00080000000A00090000004500002E0000000040117AC00000000000000000003F003F001AB6EB000102030405060708090A0B0C0D0E0F1011 

預期CRC是0x1652255A。我嘗試以下(發現here):

% set string \x00\x00\x0A\x00\x08\x00\x00\x00\x0A\x00\x09\x00\x00\x00\x45\x00\x00\x2E\x00\x00\x00\x00\x40\x11\x7A\xC0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3F\x00\x3F\x00\x1A\xB6\xEB\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\ 
x0D\x0E\x0F\x10\x11 
% package require crc32 
1.3 
% crc::crc32 -format %X $string 
690CE0EE ;# not good 

% set string 00000A00080000000A00090000004500002E0000000040117AC00000000000000000003F003F001AB6EB000102030405060708090A0B0C0D0E0F1011 
% set bin [binary format H* $string] 
% crc::crc32 -format %X $bin 
690CE0EE ;# same than previous one 

也有一些是我不同意這個PROC明白了,我不知道它是否正常工作,因爲結果總是相同的:

% crc::crc32 -format %X foo 
690CE0EE 
% crc::crc32 -format %X somethingdifferent 
690CE0EE 

如果我去this online tool,如果發現預期的結果...

是從我還是從包裝來的問題?

回答

1

我沒有看到你所看到的。

% set string \x00\x00\x0A\x00\x08\x00\x00\x00\x0A\x00\x09\x00\x00\x00\x45\x00\x00\x2E\x00\x00\x00\x00\x40\x11\x7A\xC0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3F\x00\x3F\x00\x1A\xB6\xEB\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11 


    [email protected]À??¶ë 



% package require crc32 
1.3.1 
% crc::crc32 -format %X $string 
1652255A 
+0

是的我沒有把「設置字符串\ x00 \ x00 ...」的返回值放在我的文章中,但我有相同的。問題在於,無論輸入是什麼,總是返回690CE0EE的最後一個命令。你有我期待的結果實際上,謝謝你確認它應該工作。 –