Пpивет, A.!
Дело было 09 Jan 06, A. Arzumanov писал All
AA> Hужен регистратор цифровых сигналов до 13 каналов. Логика работы такая: AA> каждые 10 мсек считывать состояние. Все входные импульсы синхронны, но AA> различны по длительности. Хочу использовать LPT, но не могу AA> разобраться как читать данные с шины данных д0...д7 в режиме ЕРР. В разных AA> источниках пишут по разному - прямо по базовому адресу, в другом база+4. AA> Kак правильно организовать чтение с порта данных? Остальные 5 это порт AA> статуса.
на счёт режимов порта не задумывался, пользовался всегда этим: (смотри бит 5 порта 37Ah)
378h (in/out) Порт данных:
Kонт Биты Стандартное назначение
2-9 0-7 байт данных 379h (in) Порт состояния:
/11 7 0-принтер занят, в режиме OFFLINE или произошла ошибка (линия BUSY)
10 6 (0-подтверждение приёма символа, 1-обычное сост.) (линия ACK)
12 5 нет бумаги
13 4 принтер в режиме ONLINE (0-принтер в автономном режиме)
15 3 нет ошибок
- 2 IRQ не произошло
- 1-0 не используются 37Ah (out/read) Порт управления:
- 7-6 не используются
- 5 выбор направления потока данных ч/з порт 378h (1-in; 0-out)
- 4 разрешает генерацию аппаратного прерывания (IRQ) по сигналу подтв. c 379h bit6 /17 3 выбор принтера (0-отмена выбора принтера, 1-обычное состояние)
16 2 0-выполнить сброс принтера, 1-обычное состояние /14 1 автоматический перевод строки LF (0Ah) после возврата каретки CR (0Dh) /1 0 1-выполнить вывод байта, 0-обычное состояние (линия STROBE)
Всего наилучшего. Пока.