Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
ntddk/src/kernel/serial/serial.h 24.09.03 11:30 Число просмотров: 1584
Автор: amirul <Serge> Статус: The Elderman
|
> > просто запиши ноль в FCR. > > Адрес портика ФЦР какой?
// Offsets from the base register address of the
// various registers for the 8250 family of UARTS.
//
#define RECEIVE_BUFFER_REGISTER ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))
#define TRANSMIT_HOLDING_REGISTER ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))
#define INTERRUPT_ENABLE_REGISTER ((ULONG)((0x01)*SERIAL_REGISTER_STRIDE))
#define INTERRUPT_IDENT_REGISTER ((ULONG)((0x02)*SERIAL_REGISTER_STRIDE))
#define FIFO_CONTROL_REGISTER ((ULONG)((0x02)*SERIAL_REGISTER_STRIDE))
#define LINE_CONTROL_REGISTER ((ULONG)((0x03)*SERIAL_REGISTER_STRIDE))
#define MODEM_CONTROL_REGISTER ((ULONG)((0x04)*SERIAL_REGISTER_STRIDE))
#define LINE_STATUS_REGISTER ((ULONG)((0x05)*SERIAL_REGISTER_STRIDE))
#define MODEM_STATUS_REGISTER ((ULONG)((0x06)*SERIAL_REGISTER_STRIDE))
#define DIVISOR_LATCH_LSB ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))
#define DIVISOR_LATCH_MSB ((ULONG)((0x01)*SERIAL_REGISTER_STRIDE))
#define SERIAL_REGISTER_SPAN ((ULONG)(7*SERIAL_REGISTER_STRIDE))
---
Смещение 2 короче. То бишь на чтение это IIR, на запись - FCR.
> > происходить когда в очереди 1, 4, 8 и 14 байт. > > Обалдеть... Получается, если длина очереди больше 1, то при > приходе одного байтика обработчик об этом и не узнает. Именно. И кстати это хорошо. При пороге в 14 байт сработает одно прерывание на 14 пришедших символов, которое быстренько выгребет их из очереди (а пока обработчик разгребает очередь может прийти и еще символ другой). А при пороге в 1 байт - будет 14 прерываний (со всеми вытекающими: сохранение контекста с последующим восстановлением, причем в защищенном режиме он больше) - оверхед аднака. Хотя и не такой уж большой.
|
|
|