Сваял программку на Билдере для работы с COM портом. Программа простенькая, использую открытие порта через CreateFile, запись/чтение через WriteFile/ReadFile. Режим работы синхронный: программа послала блок, ждет ответный блок с заранее известным числом байт. Это у меня работает.
А проблема связана с тем что устройство иногда передает большой поток данных. Программа с ними не должна ничего делать, просто игнорировать. Но они все равно поступают в приемный буфер и переполняют его. Да так что клинит всю дальнейшую работу. Хуже всего что затирается переменная в которой записан дескриптор порта, а без дескриптора я ничего не могу сделать. Ни сбросить буфер, ни закрыть порт. В общем надо как то предотвратить переполнение буфера. Какие есть варианты для этого?


