Блин, у меня тоже похожая , но немножко другая "беда"...
Пишу сейчас маленькую "прогу" на Visual C++ , типа "оболочки". Программа обмена данными между
компьютером и МК. Получается интересная вещь. Программа работает нормально, обмен идет, но
стоит выключить "таргет" и включить его снова , как то-ли драйвер СОМ порта, то-ли сам СОМ порт впадает в интересный ступор. С компьютера все идет нормально, "таргет" на команды реагирует, только
вот отвечать перестает... т.е. отвечать то он отвечает, но моя программа не видит ничего.
Вывод из "ступора" происходит закрыванием моей программы, включением "терминала" и открыванием
а затем закрыванием СОМ порта.
использую библиотеку SerialGate.dll
там тоже имеются команды Открытия порта, Закрытия порта, Очистки буфера... но не помогает

Возможно библиотека "кривая", возможно я "кривой" но вот такая петрушка...
Может у кого ссылки есть на более продвинутые библиотеки+описание для Visual C++ ?
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.