| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > расчет CRC-16 |
| Автор: ds474 31.5.2007, 14:18 | ||
| Помогите с расчетом crc-16. До этого ни разу не имел дело с этим. Вот описание расчета КС: Поле контрольной суммы содержит значение CRC-16 (Cyclic Redundancy Check). CRC-16 представляет собой 16-разрядный остаток от деления сообщения (поля адреса, функции и данных), предварительно умноженного на полином x^16 (сдвигом на 16 бит влево), на полином, выраженный двоичным числом 11000000000000101B. Вот пример для него(вроде праивльный...): Сообщение: 03 03 02 01 01 КС:01 D4 Я сам написал попробовал реализовать тот алгоритм, но он не считает правильно :(
жду помощи... |
| Автор: korbian 1.6.2007, 09:21 |
| не все так просто, как вы изложили См. atach. и еще вот: http://www.slavasoft.com/fastcrc/help-online/htmlpages/ccrc16_overview.htm |
| Автор: ds474 1.6.2007, 11:23 |
| Спасибо за ответ. Очень непростой алгоритм. |
| Автор: korbian 1.6.2007, 11:28 |
| пожалуйста. |
| Автор: Artemon 2.6.2007, 14:33 | ||||
Что-то намудрили с CRC, все намного проще:
|
| Автор: willhunting2 15.3.2010, 00:12 |
| Почему-то Cannot open include file: 'UMY_CRC.h': No such file or directory Error executing cl.exe. |
| Автор: GremlinProg 15.3.2010, 16:45 | ||
|
| Автор: chaos 16.3.2010, 09:22 |
или я чего-то упустил или хз, но не смущает ли вас полином? чот он не 16 битный. по теме - не изобретать велосипед. "все уже украдено до вас" (с) http://www.boost.org/doc/libs/1_42_0/libs/crc/crc.html Добавлено через 36 секунд топикстартер мог бы не приводить набор 1 и 0, а дать полином в нормальнов виде в хексе |
| Автор: EnergoHokum 19.3.2010, 16:17 | ||
Я так сделал, на контрольной последовательности даёт верный результат. |