![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с внешним девайсом через COM порт [D6, Win95/98, WinXP]
SDW_syscoder © (2003-09-03 11:05:00)
Требуется организовать работу с внешним устройством через порт RS232(COM).
Алгоритм будет заключаться в следующем: я должен ожидать событие, т.е. приход кода "0A", после чего в ответ я посылаю "11" пока не придёт код "3A" и затем уже идёт считывание всех данных с порта. Короче HELP ME! разобраться с событиями и потоком в котором будет вертеться процедура ожидания события.
Прогу пишу на WinAPI в Delphi 6. Thanks People!!! Покеда...
INTAARI (2003-09-03 15:27:00) [1]
Воспользуйся компонентой TurboPower Async Professional.
выглядет это так:
//////прочитать данные с порта////////////////////
procedure Tform1.ComPortTriggerAvail(CP: TObject; Count: Word);
var
I : Word;
s: string;
begin
s:="";
for I := 1 to Count do
S := S + ComPort.GetChar;
//////посылка строки в порт
Сomport.PutString("11");
ZHK (2003-09-03 11:30:00) [2]
Думаю, что задачу за тебя никто писать не будет. А посоветовать можно. Посмотри описание API. SetCommState, GetCommState и похожие. В API есть структура TDCB, с помощью которой можно получить доступ к настройкам порта. Поле TDCB.Flags тоже полезно. А простейший способ ждать событие, если других не знаешь:
while <нет события> do
Application.ProcessMessages.
Все будет выполняться и событие поймаешь. Пробуй.
Verg (2003-09-03 11:09:00) [3]
Да уж, чем дальше в лес, тем толше партизаны....