Беня (10.11.2005 14:34, просмотров: 1) ответил bialix на Значит, если ты еще здесь, то вот четкое описание проблемы:
Похожая проблема возникала у меня и вод Виндой, когда я честно пользовался функциями CreateFile() и ReadFile(). И даже когда я запускал под Win 95 и Win 98 программу, написанную для MS-DOS, которая напрямую к портам обращалась, тоже возникала эта проблема. Причем возникала проблема только в наших "самодельных" устройствах (мы сами делали преобразователь интерфейса из RS232 в что-то другое) и не возникала при использовании обычных модемов и т. д. Причем если порт "отрубится", то к нему хоть обычное устройство подключай, хоть какое и чем хочешь с ним связывайся - он не принимает информацию, хотя я вижу осциллографом, что информация приходит. При перезагрузке все снова работало нормально. Какие-то шаманские действия (типа открыть-закрыть порт или еще что-то - не помню уже) помогали. Поэтому я просто когда устройство не отвечало и "затыкалось" начинал "шаманить". Причем на некоторых компьютерах такого не возникало, а на некоторых возникало.
У меня были мысли исследовать разные флаги состояний в регистре UART (особенно в регистре Базовый Адрес+5, бит 7 - "Таймаут, устройство не связано с компьютером"), но я так и не занялся этим. Поэтому у меня были подозрения, что микросхема UART попадает в какой-то ступор, когда на нее что-то приходит.