QUOTE (S1LENCE @ Jun 16 2011, 16:02)

Как можно без while прочитать сразу 9 байт?
Прерывания для того и придуманы, чтобы нарочно не ждать события. Жить, как живете. Ну, а если пришел байт, в любой момент времени - принять его в буфер (FIFO, например), и снова жить дальше. Или ожидать, хотя бы в цикле, НО в основной программе.
Прерывания "нежный" механизм, не стоит их притормаживать громоздкими обработками за редкими исключениями.
А буфер это удобно. Я в него даже скан-коды от клавиатуры складываю)
Выбор.