# C12 — UART: polling i przerwanie RX Trzy przykłady rozdzielają mechanizm peryferium od polityki aplikacji: 1. polling statusu i odczyt jednego bajtu; 2. rzeczywista linia external IRQ 16 modelu Hazard3; 3. jednokomórkowa skrzynka ISR → main z polityką drop-newest. `TB_UART_TEST_RX` jest wyłącznie kontrolowanym bodźcem testbench. Nie jest rejestrem produkcyjnego UART-u ani dowodem zachowania RP2350. Ścieżka przerwania po wstrzyknięciu bajtu jest jednak rzeczywista dla modelu: RX FIFO → external IRQ 16 → kontroler Hazard3 → `mtvec` → dispatcher → ISR. ```bash make tasks ./tests/check_elf.sh ./tests/test_hazard3.sh ./scripts/render_card_layouts.sh ./scripts/render_new_pdf.sh ```