Цитата
Спасибо за ответы! Последний вопрос!
Я понял так:
Вышепреведённую функцию crc16 необходимо высчитать на передающей стороне.
Затем результат передать вместе с данными.
На принимающей стороне опять считаем crc16 и сравниваем результат с переданным.
В зависимости от результата принимаем решение о повторной передаче.
Еще небольшое уточнение.
Есть 2 варианта определения того, что передача прошла без ошибок: первый описали вы, а второй - CRC считается для всех данных+поле CRC, в этом случае результат должен быть равен нулю при отсутствии ошибок (либо если их больше, чем может обнаружить код). Это никак не влияет на саму идею вычисления CRC, но если вы когда то столкнетесь со вторым вариантом реализации, так что бы это вас не смутило.