|
|
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
Дело в следующем. Нужно посчитать контрольную сумму посылки используя алгоритм CRC-CCITT. Полином: P(X)=X^16+X^12+X^5+1. Вот. Нет ли у кого готовой процедурки для подсчета? Заранее спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 10:24 |
|
||
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
и что? возьми и забей эту функцию в прогу, или я что-то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 11:55 |
|
||
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
Вот что мне нравится в некоторых людях, так это умение давать полезные и конструктивные ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 11:59 |
|
||
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
2Jozo большое спасибо, я нашел :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 13:44 |
|
||
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
Подыму тему. Может какой добрый человек разжует мне чайнику. Пытаюсь на Lazarus+Synapse написать драйвер для фискального регистратора. В доке написано как считать контрольную сумму и даже есть функция для расчета. Вот только не могу понять как ее использовать. Написано: Контрольная сумма CRC16 использует CCITT 2 -полином (х 16 + х 12 + х 5 + 1) и расчитывается по полям Номер, Код, Параметры, CS и ETX без дублирующих и заключительного DLE. Пример функции: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Не понимаю насчет входящих параметров и что должно быть в результате. На входе 1. DataByte: Byte - какой байт туда пихать? 2. CRC16: word - word - целое число а написано: "расчитывается по полям Номер, Код, Параметры, CS и ETX" Понимаю что не хватает теории но не хватает времени грызть это все самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 09:15 |
|
||
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
MironicoПодыму тему. Может какой добрый человек разжует мне чайнику. Пытаюсь на Lazarus+Synapse написать драйвер для фискального регистратора. В доке написано как считать контрольную сумму и даже есть функция для расчета. Вот только не могу понять как ее использовать. Написано: Контрольная сумма CRC16 использует CCITT 2 -полином (х 16 + х 12 + х 5 + 1) и расчитывается по полям Номер, Код, Параметры, CS и ETX без дублирующих и заключительного DLE. Пример функции: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Не понимаю насчет входящих параметров и что должно быть в результате. На входе 1. DataByte: Byte - какой байт туда пихать? 2. CRC16: word - word - целое число а написано: "расчитывается по полям Номер, Код, Параметры, CS и ETX" Понимаю что не хватает теории но не хватает времени грызть это все самому. ну вот все параметры побайтно засовываешь в функцию как-то так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 09:27 |
|
||
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
Ага, начинаю понимать. Получается последнее значение и есть контрольная сумма? А начальное всегда 0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 09:31 |
|
||
|
CRC-16 CCITT
|
|||
|---|---|---|---|
|
#18+
MironicoАга, начинаю понимать. Получается последнее значение и есть контрольная сумма? А начальное всегда 0? а почему бы и нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2018, 09:37 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32465198&tid=2040698]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
206ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 574ms |

| 0 / 0 |
