Главная страница
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.03 c
2-1145838896
Bratskiy
2006-04-24 04:34
2006.05.14
Резервное копирование базы данных


2-1145860080
valdemot
2006-04-24 10:28
2006.05.14
Проценты


1-1144164074
Кашперук Иван
2006-04-04 19:21
2006.05.14
Как узнать текущий отображаемый контрол над контролом??


2-1145695411
tickler
2006-04-22 12:43
2006.05.14
Задержка, которая не вешает прогу


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