Re[15]: Двойное срабатывание WaitCommEvent
От: randomNick Латвия  
Дата: 04.03.08 17:12
Оценка: 8 (1)
_>Вопрос такой: — "Как сделать так, чтобы при чтении данных ком-порта сбрасывалось событие EV_RXCHAR".

_>Кстати, Всем благодарен за ответы! И жду новых...


Какое-то время назад смотрел исходники драйвера СОМ порта в ДДК и нашел тот-же способ предложенный выше — после WaitCommEvent вызывать ClearCommError и смотреть в cbInQue число байтов во входном буфере СОМ порта. На производительность это не должно сильно влиять.

Похоже что EV_RXCHAR можно очистить тремя способами
1. вызвать WaitCommEvent
2. Переоткрыть порт
3. SetCommMask(handle, 0)

ReadFile не очищает EV_RXCHAR флаг автоматически.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.