Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запись в Com порт в шестнадцатеричном формате [D6, WinXP]


suharew ©   (2006-04-21 17:29:00) 

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

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


YurikGL   (2006-04-22 18:06:00) [1]

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

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


Anatoly Podgoretsky   (2006-04-22 16:54:00) [2]

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


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

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


MBo   (2006-04-21 18:06:00) [4]

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


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

Ладно, тогда как видно из Лога все вот это 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 17:58:00) [6]

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


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

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

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

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

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


Fay   (2006-04-21 17:44:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо