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

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

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

25 апр 2005, 14: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ä
Контактная информация:

25 апр 2005, 21:24

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

http://www.codeproject.com/system/serial.asp
2B OR NOT(2B) = FF
Владимир
Сообщения: 56
Зарегистрирован: 25 апр 2005, 13:57

26 апр 2005, 13:33

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