Как рассчитать CRC8 входящих 32-битных данных - PullRequest
0 голосов
/ 03 марта 2020

Мне нужно реализовать CR C -8 с указанным c полиномом 32-битных данных. Вот мой результат от передатчика:

Data:12586966
CRC-8: 22(0x16)
Polynomial:0x97
Initial data:0x00
No final XOR calculation

Какой алгоритм проверки входящих данных равен их CR C -8?

1 Ответ

1 голос
/ 05 марта 2020

Если к данным добавляется CR C, а окончательное значение XOR отсутствует, то пересчитанный CR C будет равен нулю.

В шестнадцатеричном формате 4 байта данных: 00 C0 0F D6. Вычисление CRC8 фактически добавляет 00 для создания дивиденда и генерирует остаток, используя 197 в качестве делителя: {00 C0 0F D6 D6}% 197 = 16. Затем остаток «вычитается» из дивиденда, но в этом случае оба сложения и вычитание одинаковы, XOR, поэтому CR C просто добавляется к данным: {00 C0 0F D6 16}. Повторение процесса с добавленной CR C (и подразумеваемой добавленной 00), {00 C0 0F D6 D6 16 00}% 197 = 00.

...