Как получить контрольную сумму CRC-8? - Assembler

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, не могу получить контрольную сумму. Имеется готовый рабочий пример: A5 01 10 55 03 02 36 85 D2 При отправке этого сообщения на микроконтроллер получаю правильный ответ в виде 236,85 Как в примере вычислена контрольная сумма D2? Прикрепляю описание протокола, помогите пожалуйста. Спасибо.

Решение задачи: «Как получить контрольную сумму CRC-8?»

textual
Листинг программы
.loc_cycle:
        shl     al, 1
        jnc     .loc_next
        xor     al,CRC8_POLYNOM 
.loc_next:

Объяснение кода листинга программы

  1. Переменная al используется как аккумулятор для хранения результатов вычислений.
  2. На каждом шаге цикла значение al сдвигается вправо на 1 бит.
  3. Если результат сдвига больше или равен 8, то выполняется операция исключающего OR с полиномом CRC-8.
  4. Полином CRC-8 представлен в виде числа CRC8_POLYNOM.

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы