Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

Контр.сумма по модулю 2   Найти похожие ветки 

 
GanibalLector ©   (2006-12-12 21:05) [0]

Господа, имеется протокол обмена некоторого устройства, в котором … цитирую :"Последовательность проверки ПП представляет собой контрольную сумму по модулю 2"

На сколько я понимаю, по модулю 2 это исключающее ИЛИ . Или на языке Delphi обычный XOR.

Так вот, подглядел PortMon’ом работу старой утилиты, которую и переделываю.
Привожу пакеты с CRC.
1 пакет)
03 05 00 00 00 00 00 00 00           CRC=06

2 пакет)
0F 25 03 01 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 00 00      CRC= 28

Если с первым пакетом все понятно 3 xor 5 равен 6, то со вторым ну никак после «массового» xor не равно 28.

Какие будут предложения ???


 
Eraser ©   (2006-12-12 21:07) [1]

> [0] GanibalLector ©   (12.12.06 21:05)


> Какие будут предложения ???

для посчета контрольной суммы используется не XOR :)


 
GanibalLector ©   (2006-12-12 21:10) [2]

2 Eraser ©   (12.12.06 21:07) [1]
>для посчета контрольной суммы используется не XOR :)

А что ??? Я вот так считаю :


function CRC(Line:String):Byte;
 var I:Integer;
begin
 Result:=0;
 for I:=1 to Length(Line) do
  Result:=Result xor Ord(Line[I]);
end;


 
Чапаев ©   (2006-12-12 21:14) [3]

> то со вторым ну никак после «массового» xor не равно 28
Ну как же не равно, если именно равно?
F xor 25=2A
2A xor 3=29
29 xor 1=28
последующий 24-кратный xor с 20 результата не изменит.


 
Чапаев ©   (2006-12-12 21:15) [4]

> [2] GanibalLector ©   (12.12.06 21:10)
Фигня. :о) Каждый "байт" занимает два символа строки. Да и ещё и пробел между "байтами". А ты всё гамузом ксоришь.


 
GanibalLector ©   (2006-12-12 21:25) [5]

2 Чапаев © [3]
Угу...вроде все правильно .

> Каждый "байт" занимает два символа строки. Да и ещё и пробел между "байтами".

Не, я все правильно делал. Типа CRC(Chr($0F)+Chr($25)+...)


 
tesseract ©   (2006-12-12 21:29) [6]

не верь документации!!!!
я столько этих устройств поюзал :-) Всё может быть врено  только не указано КАКИЕ байты посылки в XOR не участвуют.


 
Чапаев ©   (2006-12-12 21:32) [7]

> Типа CRC(Chr($0F)+Chr($25)+...)
Извращенец. :о) Тогда уж CRC(#$F#$25)

Ещё можно вспомнить о том, что #$F <=> ^O
%-)


 
GanibalLector ©   (2006-12-12 21:40) [8]

Блин, прошу прощения, все работает.
Из серии заработался ;)

Всем спасибо !!!


 
GanibalLector ©   (2006-12-12 21:42) [9]

>Извращенец. :о) Тогда уж CRC(#$F#$25)

:) Это я в учебных целях проверки образования CRC.
На самом деле у меня array of Byte



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

Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
11-1143112082
sff
2006-03-23 14:08
2006.12.31
о ftp


2-1165786800
Евгений Р.
2006-12-11 00:40
2006.12.31
Присвоить значение свойству Set


2-1165768050
i-am-vladko
2006-12-10 19:27
2006.12.31
DataModul


2-1166052594
HF-Trade
2006-12-14 02:29
2006.12.31
Отцентровать изображения в TImage


15-1165836418
IMHO
2006-12-11 14:26
2006.12.31
Слово о Rapidshare





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский