Скачать Использование COM-порта как таймера под Win

04.01.1995
Скачать файл (2,30 Кб)




В последнее время проявлен некоторый интерес к обработке
аппаратных прерываний под Win. Ниже приводится модуль, в котором
решается задача, возникшая у меня в процессе создания ПО для
обработки телеграфных сигналов - получение строго фиксированных
интервалов времени в 1, 2 или 5 мс. В ДОС проблем не было -
перепрограммировал таймер новым делителем, "вешал" обработчик
нa int08 и все дела. В Windows перепрограммировать таймер нельзя
(эти ужасные 55 мс!), поэтому самым простым показалось использование
прерывания от свободного СОМ-порта.
- изготавливаем "заглушку" на СОМ-порт, заведя линию передачи Tx
  на линию передачи Rx, DTR на DSR, а также соединяем вместе три
  сигнала:
    RLSD, RTS и CTS;
- вешаем обрабочик прерываний на $0C для СОМ1 или $0B для СОМ2 таким
  образом, что, передавая символ в линию, мы его же и получаем, что
  возбуждает прерывание по приему символа; в обработчике снова записы-
  ваем символ в порт передачи и пошло-поехало...
- программируем UART на нужную скорость и, тем самым, добиваемся
  нужного интервала времени.