![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщение в HEX формате [D7, WinXP]
SergeyM © (2004-10-03 14:59:00)Проблема такая немогу найти литературу которая могла бы объяснить как мне послать на порт сообщение в НЕХ формате, с заголовком, байтами данных, контрольной суммой. Так вот немогли бы вы помоч мне и объяснить как это можно сделать. Послать в порт и получить из порта я разобрался как, но только со строкой.
SergeyM (2004-10-04 17:05:00) [1]Всем спасибо.
GanibalLector (2004-10-04 01:47:00) [2]Т.е.GanibalLector отправка данных происходит до тех пор пока небудет ничего передано?
Вы вдумайтесь в те слова,которые написали...Я вообще ничего не понял.Вы просили что???Отправку на порт данных в hex.Я Вам ее дал.
Далее,по поводу CRC и прочего.Уважаемый,волею судьбы меня занесло работать в сервисный цент(кассовые аппараты,весы).Так вот,на моей памяти более 15 протоколов и у всех различные принципы построения CRC,префиксоф и суффиксов.И что дальше??? Хотите все???
Как пример протокол "Keyword Protocol 2000"
Ну,а такого не встречал.
Anatoly Podgoretsky (2004-10-03 21:46:00) [3]Если речь об форматах Интел или Моторола, но найти можно на соответствующих сайтах.
GEN++ (2004-10-03 21:09:00) [4]>SergeyM
Речь видимо идет о формате Hex файла, который передается на Comm
порт. Этот вопрос поднимался примерно с месяц назад. Я там
подробно писал про формат и приводил код формирования КС.
Пройдитесь "поиском" в конференции "Основная"
SergeyM (2004-10-03 17:41:00) [5]Хотелось бы просто понять каким образом организуется сообщение во внешнее устройство. Как пример протокол "Keyword Protocol 2000"
MaxDDinc (2004-10-03 16:54:00) [6]Если можно, поточнее вопрос. Какое сообщение, возможно определенной структуры и т.д.
SergeyM (2004-10-03 16:09:00) [7]Т.е.GanibalLector отправка данных происходит до тех пор пока небудет ничего передано?
GanibalLector (2004-10-03 15:38:00) [8]Хм..
function ReadComm(Handle:THandle; var Bfr:AnsiString):Integer;
var
I,J:DWord;
begin
Result:=0;
J:=Length(Bfr);
repeat
ReadFile(Handle, Bfr[Result+1], J-DWord(Result), I, nil);
Inc(Result,Integer(I));
if DWord(Result)=J then break;
until I=0;
end;
function WriteComm(Handle:THandle; const Bfr:AnsiString):Integer;
var
I,J:DWord;
begin
Result:=0;
J:=Length(Bfr);
repeat
WriteFile(Handle, Bfr[Result+1], J-DWord(Result), I, nil);
Inc(Result,Integer(I));
if DWord(Result)=J then break;
until I=0;
end;
Ну а если послать байт(ы),то
writecomm(мой порт,chr($01)+chr($02)+...+'fuck')