Главная страница
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.027 c
2-1146116926
tigra
2006-04-27 09:48
2006.05.14
TBLOBField


6-1137675246
GuAV
2006-01-19 15:54
2006.05.14
(Berkeley-style sockets) Корректный выход из блокирующего accept.


3-1142792342
Serg1981
2006-03-19 21:19
2006.05.14
Поиск дублей


15-1145270854
alexkms85
2006-04-17 14:47
2006.05.14
Исходники


2-1145685513
jiny
2006-04-22 09:58
2006.05.14
Функция возвращает кол-во секунд, прошед. после полуночи