|
|
|
|
Драйвер, TSR или автономная программа
Существует несколько способов получения доступа к последовательному адаптеру в системе MS-DOS. Вы можете управлять последовательным портом через
устанавливаемый драйвер устройства, выполняющий ввод/вывод через этот порт. В главе 6 "Устанавливаемые
драйверы устройств" рассматриваются детали разработки такого
драйвера. Главным недостатком такого подхода являются издержки,
связанные с доступом к драйверу через DOS, а достоинством то, что
любая программа, которая знает о Вашем драйвере, может его использовать. Если Вы выбрали этот способ, то можете обеспечить в
драйвере возможности IOCTL таким образом, что связные параметры,
такие как скорость передачи в бодах и длина слова, могут быть установлены вызовами DOS IOCTL (номер функции DOS 44h).
Вторым подходом является установка программы TSR (завершенная
и оставленная резидентно), которая используется с помощью прерывания BIOS RS-232C (14h) и расширяет свою функциональность обеспечением управляемого
прерываниями ввода/вывода. Этот метод также
дает любой программе доступ к последовательному порту посредством
Вашего драйвера TSR в то время как Вы подтверждаете необходимые
установки регистра при использовании новых коммуникационных функций TSR. Механизм доступа будет таким же, как вызов функции BIOS
RS-232C, который мы вскоре опишем.
Третий метод заключается в разработке автономной программы,
которая включает в себя служебную подпрограмму обработки прерываний последовательного порта. В этом случае, при запуске этой
прикладной программы, Вы можете установить обработчик прерываний
последовательного порта и сбросить его после прекращения работы
программы. Этот способ создает возможности организации высокоскоростного (9600 бод) последовательного ввода/вывода ввиду наличия
в нем меньшего количества недостатков по сравнению с двумя другими методами.
Независимо от того, какой подход Вы выберите, управление
последовательным портом останется таким же. Далее мы уделим особое внимание деталям.
|
|