Форум: "Начинающим";
Текущий архив: 2012.05.06;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.005 c