У меня такой вопрос: EV_TXEMPTY — это события или состояние ?
Вопрос возник вот почему:
После отправки 7 байт в порт (NON_EVERLAPPED) я вставляю задержку в 30 миллисекунд.
После задержки я устанавливаю SetCommMask(hComm, EV_TXEMPTY);, вызываю WaitCommEvent(hComm, &commEvent, NULL); — и оно работает, функция ловит событие !
Вопрос — почему ? По идее 30 миллисекунд более чем достаточно чтобы отправить все сообщение. Последний байт должен был быть давно выпихнут в линию, событие сгенерировано и WaitCommEvent должен был пропустить это событие. Но он его видит, что наталкивает меня на мысль что EV_TXEMPTY генерируется если в самом ком-порте устарновлен флаг, говорящий о том что буффер пустой.