[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено denis_ya 15 апреля 2004 г. 10:21
В ответ на: COM в Visual C отправлено msize 14 апреля 2004 г. 14:22

Делается это примерно так:

// открывается порт
HANDLE port = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);

// через DCB струкруру устанавливаются параметры порта (скорость,
// количество байт, четность и т.д.

...

// читаем ответ

OVERLAPPED ovp;
vp.Offset = 0;
ovp.OffsetHigh = 0;
ovp.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

char reply[128];
DWORD rc;
ReadFile(port, reply, sizeof(reply), &rc, &ovp);
WaitForSingleObject(ovp_rd.hEvent, INFINITE);

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

...

А вообще, смотреть MSDN на тему CreateFile, SetCommState, ReadFile,
WaitForSingleObject, GetOverlappedResult и т.д.
Да и в инете, на соответствующих ресурсах примеров работы с последовательным портом навалом.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru