QUOTE (Hexart @ Oct 23 2011, 17:11)

Если во время обработки прерывания, пришло еще одно прерывание, опять по UART1, то в регистр U1IIR опять запишется значение о новом прерывании еще до выхода из обработчика?
А вы думали, UART будет ждать пока ядро выйдет из прервывания, чтобы записать значение в
свои регистры? А если вы работаете без прерываний? А если второе событие произошло еще до того, как вы вошли в это прерывание? Там ведь не зря у разных источников разные приоритеты. В этом примере сделано довольно грамотно - зачем тратить время на выход из прерывания чтобы тут же попасть в него снова? Проще сразу проверить, что больше обрабатывать нечего.
То, что в этом примере не используются FIFO - уже другой вопрос.