Greetings, All!
Пересказываю со слов, так что какие-то детали могу упустить: Есть, программа, общающаяся с устройством по RS-232. Когда у устройства готовы данные, она выставляет определенный сигнал, и данные можно забирать. Для чтения данных используются функции Windows API, те, которые неблокирующие (overlapped). Проблема следующая - при чтении данных, пока буфер UART не заполнится данными полностью, событие Windows о завершении операции чтения не возникает. Таким образом, когда размер данных, подготовленных устройством не кратен размеру приемного буфера UART, "хвост" данныйх лежит в буфере, и событие не создается. Можно, конечно, настроить time-out завершения блока данных через Windows API, но это некрасиво как-то. Программа на стороне PC уже знает, что данные готовы и каков их размер. Как заставить UART (Windows?) быстро отдать остаток данных?
До скорого! Nik.