информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Портрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ты похоже не совсем правильно понял 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м) к сигналам готовности. Подаю сигнал на один - и во
> втором тоже сигнал появлялся. Распрямил (скрученные
> колечком) провода и разнес друг от друга - наводка пропала.
Ну это уже железные проблемы. Я свой провод не паял никогда, благо продается куча заводских.
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach