Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.05.06;
Скачать: CL | DM;

Вниз

CRC   Найти похожие ветки 

 
Андреевич   (2012-01-04 21:06) [40]

значит мне


 
Германн ©   (2012-01-05 04:35) [41]


> Андреевич   (04.01.12 21:06) [40]
>
> значит мне
>

Ну и зачем тебе понадобился ещё один ник на ДМ?


 
defen ©   (2012-01-05 09:01) [42]

народ, прекратите эту вербальную резню. мне нужно было организовать наложение CRC16 на строку (переменная Data_Paket_For_Send, File_Name :AnsiString;) см [27].
Передаются данные через модем. В настоящий момент по протоколу Kermit. Работает и Гипер Терминал (ZModem) но он до ужаса глючный, поэтому я пытаюсь создать что-то своё... Если есть вопросы, задавайте пожалуйста без сарказма... на что смогу, отвечу.


 
RWolf ©   (2012-01-05 09:26) [43]

не надо ничего создавать, инет завален алгоритмами расчёта crc любой разновидности на любых данных.


 
defen ©   (2012-01-05 10:50) [44]


> не надо ничего создавать, инет завален алгоритмами расчёта
> crc любой разновидности на любых данных.

спасибо за пост в тему...


 
Anatoly Podgoretsky ©   (2012-01-05 11:04) [45]


> народ, прекратите эту вербальную резню. мне нужно было организовать
> наложение CRC16 на строку (переменная Data_Paket_For_Send,
>  File_Name :AnsiString;)

Тебя уже несколько раз спросили, какой именно CRC нужен, и привели несколько различных реализаций. Может за тебя программу надо написать?


 
Anatoly Podgoretsky ©   (2012-01-05 11:05) [46]


>  Работает и Гипер Терминал (ZModem) но он до ужаса глючный,
>  поэтому я пытаюсь создать что-то своё

И при этом у тебя проблема с CRC, не в состояние восспользоваться готовыми.


 
DVM ©   (2012-01-05 11:07) [47]


> defen ©   (05.01.12 09:01) [42]

Вообще говоря тебе уже дали код, да и в интернет этого добра навалом. Могу дать еще:

http://dvmuratov.narod.ru/crc.pas

там для твоей задачи вероятно лучше всего подходит этот:

////////////////////////////////////////////////////////////////////////////////
//  Имя алгоритма               : CRC16-XMODEM (?????)                        //
//  Стандарты                   : ITU-T V.41                                  //
//  Где используется            : XMODEM, PPP                                 //
//  Иннициализирующее значение  : $0000                                       //
//  Выходная XOR маска          : $0000                                       //
//  Входные данные              : не инвертируются                            //
//  Выходной CRC перед XOR      : не инвертируется                            //
//  Значение полинома           : $1021 (Зеркальное значение = $8408)         //
//  Полином                     : x^16 + x^15 + x^2 + 1                       //
//  Значение для "123456789"    : $31C3                                       //
////////////////////////////////////////////////////////////////////////////////


 
antonn ©   (2012-01-05 13:36) [48]


> Германн ©   (05.01.12 04:35) [41]
>
>
> > Андреевич   (04.01.12 21:06) [40]
> >
> > значит мне
> >
>
> Ну и зачем тебе понадобился ещё один ник на ДМ?

я уже говорил, что это не надобность.


> RWolf ©   (05.01.12 09:26) [43]
>
> не надо ничего создавать, инет завален алгоритмами расчёта
> crc любой разновидности на любых данных.

я бы предпочел чтобы мне посоветовали, а не взять с помойки "любой" код и потом гадать из-за чего чексуммы разные. Т.к. алгоритм - это одно, а реализация - другое :)


 
defen ©   (2012-01-06 04:12) [49]


> я бы предпочел чтобы мне посоветовали, а не взять с помойки
> "любой" код и потом гадать из-за чего чексуммы разные. Т.
> к. алгоритм - это одно, а реализация - другое :)
>
>

Спасибо, Кэп! ))


 
defen ©   (2012-01-06 07:50) [50]

значит получается мне надо на каждую ячейку массива ( их 134) типа Byte накладывать CRC, а потом склеивать? потому как перед отправкой данные из типа Byte переводятся в AnsiSrting... Как эти значения сложить, чтобы не было ошибок?


 
defen ©   (2012-01-06 07:52) [51]

или я снова чего-то не понял?


 
defen ©   (2012-01-06 08:06) [52]

данные в массиве примерно выглядят так [255,255,0,1,68,54,16,34,..до..135...,0,0] 135 и 136 будет СRС. А отправляются в канал уже вот так "яя"#1#0"какой-нибудь не читаемый символ"#A7#1D..до..135....#0#0 вот...


 
defen ©   (2012-01-06 08:21) [53]

по сути, весь пакет хранится в байтовом виде в массиве......


 
Sha ©   (2012-01-06 09:32) [54]

> на каждую ячейку массива ( их 134) типа Byte накладывать CRC, а потом склеивать?

мне неизвестны операция "накладывания на ячейку массива" и
операция "склеивания чисел"

> потому как перед отправкой данные из типа Byte переводятся в AnsiSrting...

проще сразу выбрать нужный тип данных

> Как эти значения сложить, чтобы не было ошибок?

очень редко имеет смысл как-то складывать значения CRC,
скорее всего тебе это не надо

или я снова чего-то не понял?

Конечно.
Боюсь показаться кэпом, но тебе, вероятно, надо вычислить CRC буфера,
а не сложить CRC байтов.

> данные в массиве примерно выглядят так
> [255,255,0,1,68,54,16,34,..до..135...,0,0] 135 и 136 будет СRС.

функции вычисления CRC это безразлично

> А отправляются в канал уже вот так "яя"#1#0"какой-нибудь не читаемый символ"#A7#1D..до..135....#0#0 вот...

зачем отправлять переставленные (#1#0) нечитаемые символы вместо читаемых?

> по сути, весь пакет хранится в байтовом виде в массиве......

А не по сути - в строках?
По сути тебе достаточно, наконец, разобрать работу
любого примера вычисления CRC и отправки данных.


 
Sha ©   (2012-01-06 09:32) [55]

Удалено модератором


 
defen ©   (2012-01-07 11:03) [56]

Всем спасибо... Низкий поклон товарищу DVM ©  за оказанную помощь!!!



Страницы: 1 2 вся ветка

Текущий архив: 2012.05.06;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.007 c
15-1324526689
И. Павел
2011-12-22 08:04
2012.05.06
Сайт, сделанный на ucoz.ru


15-1325001832
Pavia
2011-12-27 20:03
2012.05.06
Как проще?


4-1256386078
GreyWolf
2009-10-24 16:07
2012.05.06
Аналог GetExceptionInformation в Delphi


1-1292143528
Дмитрий С
2010-12-12 11:45
2012.05.06
"Заморозить" TWebBrowser на время перезагрузки страницы


2-1326020364
Gu
2012-01-08 14:59
2012.05.06
dllmain vs init-final