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