Считывание данных с COM порта

Модераторы: Romeo, Hawk, Absurd, WinMain, DeeJayC

Ответить
Владимир
Сообщения: 56
Зарегистрирован: 25 апр 2005, 12:57

Считывание данных с COM порта

Сообщение Владимир » 25 апр 2005, 13:38

Добрый день всем. Не могли бы, уважаемые программеры, помочь со следующей проблемкой:
В общих чертах - прога ждет наступления события на COM порте
и затем считывает данные из входного буфера обмена. Проблемка в следующем - считывание из буфера опережает запись в него. Если поставить задержку выполнения потока Sleep() перед ReadFile(), то все ОК. Установка параметров структуры COMMTIMEOUTS не помогает. Если еще какой нибудь способ решения проблемы? К COM порту присоединен считыватель магнитных карт.

WaitCommEvent(m_hComDev, &dwEvtMask, NULL);
if ((dwEvtMask & EV_RXCHAR) == EV_RXCHAR)
{
........
ReadFile(m_hComDev, lpszBlock,dwLength, NULL, &osRead) ;
........
}

Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Сообщение Absurd » 25 апр 2005, 20:24

Неплохой артикль... Может найдешь то чего тебе нужно

http://www.codeproject.com/system/serial.asp
2B OR NOT(2B) = FF

Владимир
Сообщения: 56
Зарегистрирован: 25 апр 2005, 12:57

Сообщение Владимир » 26 апр 2005, 12:33

Спасибо за полезную ссылочку

Ответить