Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.56 MB
Время: 0.004 c
15-1325175837
Алексей Татьянович
2011-12-29 20:23
2012.05.06
1 000 000. Куда?


2-1325856082
Gu
2012-01-06 17:21
2012.05.06
messagebox


15-1325190602
Юрий
2011-12-30 00:30
2012.05.06
С днем рождения ! 30 декабря 2011 пятница


2-1326047881
3asys
2012-01-08 22:38
2012.05.06
ADO Connection


15-1325500426
Делфиец
2012-01-02 14:33
2012.05.06
win7 64 выполнить от имени администратора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский