Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Ты похоже не совсем правильно понял 23.09.03 15:32 Число просмотров: 1430
Автор: amirul <Serge> Статус: The Elderman
|
> > Запросто. Когда я говорил, что фифо не будет работать > я > > имел в виду ИМЕННО фифо. То есть порт будет работать > как > > старый 16450 (или как его так, у которого фифо вообще > нет). > > Дык почему мне приходится ИИР пулить, если фифо > по-умолчанию выключено? После загрузки голого ДОСа > запускается только моя прога - никто ФИФО не включает. Приоритеты прерываний не имеют вообще никакого отношения к фифо и были, кажется еще в первых UART-ах. А то, что одновременно может несколько прерываний пендиться - могут не обязательно приходить одни и те же прерывания (в частности прерывание "готовы данные"). А если все таки фифо включается, то скорее всего его включает досовский дривер ком порта (устройства COM1:-COM4:, LPT:, AUX: и пр. даже не требуют ничего прописывать в config.sys). Для выключения просто запиши ноль в FCR.
А вообще это не должно тебе мешать - при уже пришедшем прерывании в любом случае нужно читать IIR пока не включится указанный флаг (бит 0). А если так, то включено FIFO или нет, для тебя все будет происходить прозрачно.
> Что же у меня в очередь вставало? Я то ФИФО не трогал. Могут прийти сразу много прерываний, например есть данные и готов к отправке.
> Прерывание, разумеется, должно произойти, когда буфер > (transmit holding register) опустошится, т.е. после > закидывания первого байта, если очередь не равна нулю, а > потом (после заполнения очереди) с периодом передачи > байтиков? В случае с FIFO все иначе. Там есть такая штука как порог срабатывания прерывания. То есть все данные, пришедшие/посылаемые в/из UART-а по прежнему попадают в очередь. Но в зависимости от установки прерывание может происходить когда в очереди 1, 4, 8 и 14 байт.
> Еще я заметил, что СОМпорт "нежная" вещь. Припаял провода > (~3м) к сигналам готовности. Подаю сигнал на один - и во > втором тоже сигнал появлялся. Распрямил (скрученные > колечком) провода и разнес друг от друга - наводка пропала. Ну это уже железные проблемы. Я свой провод не паял никогда, благо продается куча заводских.
|
|
|