Хочу прерывание от СОМ-порта
Добавлено: 30 май 2009, 11:37
Нужно прерывание по приему байта. Не получается.
Прерывание от аппаратного таймера работает (для тренировки сделал). СОМ-порт работает нормально (настроен правильно) - читаю вручную.
Значит, видимо, неправильно настраиваю контроллер прерываний 8259 (порты 0х21, 0х20).
Может кто увидит ошибку или у кого есть работающий примерчик или ссылочку кинете?
Прерывание от аппаратного таймера работает (для тренировки сделал). СОМ-порт работает нормально (настроен правильно) - читаю вручную.
Значит, видимо, неправильно настраиваю контроллер прерываний 8259 (порты 0х21, 0х20).
Код: Выделить всё
. . . . . . .
. . . . . . .
{$F+}
Procedure int_rs; interrupt;
Begin
. . . . . . .
. . . . . . .
port[$20]:=$20;
End;
{$F-}
BEGIN
. . . . . . .
. . . . . . .
asm cli end;
setintvec($0C, addr(int_rs));
port[$21]:=port[$21] and $EF;
asm sti end;
. . . . . . .
. . . . . . .
END.