Да ничего не изменил (в плане алгоритма побитного вычисления ). Согласно
http://www.owen.ru/forum/showthread.php?t=15588 (3й пост) для каждого полинома есть "обратный" , в зависимости от того, куда "двигаем". Основные мои изыскания были порождены тем, что
1. В литературе по моему проекту ( пакет AX.25) ,были разные сведения о полиноме . Были варианты x16+x15+X2+1 и x16+x12+x5+1. Верным оказался второй вариант, согласно ISO 3309-98
2. В конце подсчёта CRC16 я не делалX ^ $FFFF
3. В букваре по протоколу указывалось, что CRC16 вводится в тело сообщения старшим битом вперёд. Так и делал. Но оказалось, что в конце вычисления CRC в Xl лежит старший байт, а в Xh- младший.Причём если в конце расчёта получилось CRC=$0965, то передачу CRC надо начиать с младшего бита пятёрки. Разбираться где идёт "переворот" не стал, подкорректировал вывод , всё заработало.
Рабочий вариант
sshot-3.png [ 5.47 КБ | Просмотров: 10982 ]