2015-04-06 5 views
1

CRC 16

http://www.lammertbies.nl/comm/info/crc-calculation.htmlCRC 8 и CRC 16

Для ввода шестнадцатеричной 0x43 с CRC-16 (поли 0x8005) является 0xF141 согласно вышеуказанному сайту ...

Как я это вход в нижнем калькуляторе, чтобы получить тот же результат?

https://ghsi.de/CRC/index.php?Polynom=1000000000000101&Message=43

CRC 8

http://www.codeproject.com/Articles/19059/C-CCITT-CRC-Algorithm

В приведенной выше ссылке с байтовый массив {0xEE, 0x01, 0x13, 0x00, 0x06, 0x1C, 0x00, 0x20, 0x1D, 0x00, 0x00}, используя CRC8 (poly 0xd5) возвращает 226.

Как мне пойти и вставить значение на сайт ниже?

Как насчет ввода 0x43? Как ввести это с помощью CRC8 (poly 0xd5) на один и тот же веб-сайт?

https://ghsi.de/CRC/

Извините, но я stucked на выяснение этого ... изучает CRC не используя ссылку ниже до 11 пгов, и у меня есть общее представление о вычислении CRC. Но я нашел трудности в выяснении, как получить тот же результат из источников, которые я упомянул выше ...

http://www.ross.net/crc/download/crc_v3.txt

ответ

2

Для CRC-16, используйте this link с полиномом исправлен иметь Х- срок и входной байт изменился на обратный и прочитал результат CRC (828f) в обратном порядке (f141). Ввод и вывод необходимо отменить, поскольку это отраженный CRC. См. Определение этого CRC here.

Для CRC-8 недостаточно указать только многочлен. Вам также необходимо определить, отражает ли CRC или нет, каково первоначальное значение регистра CRC, а что - исключить или результат. Существует one in the catalogue with that polynomial, который не отражается и имеет ноль для начального значения и окончательного xor. Вы можете использовать use this online version для этого конкретного CRC, чтобы получить 0x37 как CRC 0x43. Эта версия дает 226 decimal for your example sequence.