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

Вниз

Запись в Com порт в шестнадцатеричном формате   Найти похожие ветки 

 
suharew   (2006-04-21 17:29) [0]

Добрый день. Только начинаю разбиратьсь с Com портом, и возникла след. ситуация. Соединение в портом установил, пробовал передать текст, все передает. Но мне надо передать 9 байт в шестнадцатеричном формате. т.е. передать примерно следующее FF 00 55 AA A5 02 60 03 C4  
как такое осуществить. Причем передать это надо сразу одним пакетом, а не по одному байту .
В ответ я буду получать тоже в шестнадцатеричном формате но по одному байту через определенный промежуток.

Подскажите пожалуста как реализовать передачу.


 
Fay ©   (2006-04-21 17:44) [1]

Чё-то я не понял...
Нужно передать FF 00 55 AA A5 02 60 03 C4, или "FF0055AAA5026003C4" ?


 
suharew   (2006-04-21 17:51) [2]

Есть программа которая работает через Com порт с контроллером, проанализировал Лог файл этой программы с помощью Portmon то получилось

20 0.00004777 ThermoCnt.exe IRP_MJ_WRITE Serial1 SUCCESS Length 9: FF 00 55 AA A5 02 60 03 C4

т.е. получается программа передает в порт девять байт в 16-й системе.

Я пытаюсь повторить эту программу, вот и мне тоже надо повторить эту передачу пакета.


 
MBo ©   (2006-04-21 17:58) [3]

байты не бывают ни в 16-ричной- ни в другой системе, они сами по себе,
а система счисления относится лишь к их текстовому представлению


 
suharew   (2006-04-21 18:03) [4]

Ладно, тогда как видно из Лога все вот это FF 00 55 AA A5 02 60 03 C4
представляет 9 байт.
Как мне послать все это 9-ю байтами
пробовал

data:="FF 00 55 AA A5 02 60 03 C4";
WriteFile(ComPort,data , Length(data), BytesWritten, nil)

получается это строка из 26 байт.


 
MBo ©   (2006-04-21 18:06) [5]

Data = array[0..9] of Byte;
Data[0]:=$FF;
...


 
suharew   (2006-04-21 18:09) [6]

Ок, вроде получается.
Большое спасибо.


 
Anatoly Podgoretsky ©   (2006-04-22 16:54) [7]

Это уже не 9 байт, а 18


 
YurikGL ©   (2006-04-22 18:06) [8]

берем компоненту comm32, ставим ее и записываем посимвольно...

> Причем передать это надо сразу одним пакетом, а не по одному
> байту .
А в чем отличие?



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

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

Наверх




Память: 0.48 MB
Время: 0.045 c
2-1145977108
Hitkliff
2006-04-25 18:58
2006.05.14
Помогите плз


2-1145971127
Виктор1985
2006-04-25 17:18
2006.05.14
как переменную типа double привести к integer?


2-1146106507
Юрик
2006-04-27 06:55
2006.05.14
как отличить заглавную букву от прописной???


6-1137857835
GanibalLector
2006-01-21 18:37
2006.05.14
(Berkeley-style sockets) теория


10-1118810923
Магнум
2005-06-15 08:48
2006.05.14
"The RPC server is unavailable"