Sterpa
@Sterpa

Как в C++/Arduino вычислить бит четности для 1-го байта информации (контрольную сумму CRC-1, контрольный разряд, контроль по паритету)?

Есть байт информации (8 бит). Необходима функция C++/Arduino для вычисления девятого бита - бита четности (контрольной суммы CRC-1, контрольного разряда, контроля по паритету).
Нужен пример конкретного кода для реализации стандартного алгоритма CRC-1, описанного как: Бит чётности или контрольный разряд формируется при выполнении операции «Исключающее-ИЛИ» поразрядно.

Не путать с определением четности числа по младшему разряду, это не имеет никакого отношения к CRC-1.

Очень много искал в Интернете, много форумов перечитал, но готового кода нигде, НИГДЕ нет. Есть хорошие примеры и даже библиотеки для CRC-16, CRC-32, но для 8-ми бит они избыточны (контрольная сумма больше самого слова в байт). Нужен именно самый простой, самый примитивный CRC-1, для полинома Х+1. Простой, нересурсоемкий (для Arduino) код для поразрядной "Исключающей-ИЛИ" обработки байта информации и получения одного контрольного бита. Возможно какая-то рекурсивная функция со сдвигом регистра.
  • Вопрос задан
  • 1532 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@vilgeforce
Раздолбай и программист
Код надо за вас написать? Это не сюда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы