Для DTR
=1, RTS
=0 и через 5 с проверяется состояние сигнала DSR
. При DSR
=1 происходит переход в состояние DSR
=0 происходит переход в состояние Disconnect Idle
, в котором система может периодически опрашивать сигнал DSR
для обнаружения подключения устройства.
Описанный механизм разрабатывался компанией Microsoft с учетом совместимости с устройствами, не относящимися к устройствам PnP, — он обеспечивает невозможность их вывода из строя и устойчивость системы к сообщениям, не являющимся PnP-идентификаторами. Например, обычная мышь Microsoft Mouse (не PnP) по включении питания от интерфейса ответит ASCII-символом «M» (трехкнопочная — строкой «M3»).
2.10. Неисправности и тестирование СОМ-портов
Неполадки с СОМ-портами случаются (выявляются) при установке новых портов или неудачном подключении внешних устройств.
2.10.1. Проверка конфигурирования
Тестирование последовательных портов (как и параллельных) начинают с проверки их опознавания системой. Список BIOS Data AREA
с помощью отладчика.
Если BIOS обнаруживает меньше портов, чем установлено физически, значит, двум портам присвоен один адрес или установлен нестандартный адрес какого-либо порта. Проблемы могут возникать с адресами портов COM3 и COM4: не все версии BIOS будут искать порты по альтернативным адресам 3E0h, 338h, 2E0h и 238h; иногда не производится поиск по адресам 3E8h и 2E8h. Нумерация найденных портов, отображаемая в заставке, может вводить в заблуждение: если установлены два порта с адресами 3F8h и 3E8h, в заставке они могут называться COM1 и COM2, и по этим именам на них можно ссылаться. Однако те же порты в заставке могут называться COM1 и COM3 (поскольку 3E8h является штатным адресом для COM3), но попытка сослаться на порт COM3 будет неудачной, поскольку в данном случае адрес 3E8h будет находиться в ячейке 0:402h BIOS Data Area
, соответствующей порту COM2, а в ячейке порта COM3 (0:404h) будет нуль — признак отсутствия такового порта. «Объяснить» системе, где какой порт, можно вручную с помощью любого отладчика, занеся правильные значения базовых адресов в ячейки BIOS Data Area
(это придется делать каждый раз после перезагрузки ОС перед использованием «потерянного» порта). Существуют тестовые утилиты, позволяющие находить порты (например, Port Finder).
Если двум портам назначен один и тот же адрес; тестовая программа обнаружит ошибки порта только с помощью
Если физически установлен только один порт и его не обнаруживает BIOS, причины те же, что с LPT-портом: либо он отключен при конфигурировании, либо вышел из строя. Неисправность может устраниться при вынимании/вставке платы адаптера в слот системной шины.
При работе с С ОМ-портом задействуются соответствующие
2.10.2. Функциональное тестирование
В первом приближении СОМ-порт можно проверить диагностической программой (CheckIt) без использования заглушек. Этот режим тестирования проверяет микросхему UART (внутренний диагностический режим) и вырабатывание прерываний, но не входные и выходные буферные микросхемы, которые являются более частыми источниками неприятностей. Если тест не проходит, причину следует искать или в конфликте адресов/прерываний, или в самой микросхеме UART.
Для более достоверного тестирования рекомендуется использовать RTS
-CTS
позволяет работать передатчику — без нее символы не смогут передаваться. Выходной сигнал DTR
обычно используют для проверки входных линий DSR
, DCD
и RI
.