[an error occurred while processing this directive]
|
Остаток для Вашего фрейма - CC26. Процесс вычислений следующий. Я реализовывал алгоритм со сдвиговым регистром. Изначально все биты инициализируются 1. Затем, весь кадр от последнего бита флага до первого бита FCS прогоняется через регистр. После этого через регистр прогоняются 16 нулей. Нашли остаток. Затем, регистр снова инициализируется единицами, после чего через него прогоняются 15 единиц и К нулей, где К - кол-во бит в кадре. Ну и битстаффинг ещё учтём и выкинем ненужное. А, ещё сложить и проинвертировать. Так вот. При таком алгоритме подсчитанная FCS кадра и содержащаяся в нём совпадают. А вот число 1D0F получается только в случае, если в конец кадра щаписать другую FCS. Эта другая FCS вычисляется простым взятием остатка от содержимого кадра, дополненного нулями. Без сложения со вторым остатком. Во как.
E-mail: info@telesys.ru