Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ошибка при записи в COM порт

426
02 мая 2003 года
Krivonos
112 / / 20.01.2000
Создаю хендл с помощью
HANDLE hCom = CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, NULL);
проверяю
if(hCom == INVALID_HANDLE_VALUE)
все в порядке.
Но когда пытаюсь туда что-то записать с помощью WriteFile, то после ее выполнения GetLastError() возвращает 6, что означает
The handle is invalid.

В чем проблема?
Заранее благодарен.
1.9K
04 мая 2003 года
Mazilla
12 / / 10.10.2002
Есть всякие тонкости. Например, Win98 и Win2K работают с СОМ портом по-разному.
Вот вариант, который работает в любых виндах:

m_PortHandle = CreateFile( strNamePort,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL
);

OVERLAPPED overlapped;
memset(&overlapped,0,sizeof(OVERLAPPED));
overlapped.hEvent=CreateEvent(NULL, TRUE, FALSE, NULL);


fSuccess=WriteFile(m_PortHandle,
m_OutPoket,
m_PoketLength,
&dwByte,&overlapped);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог