UART: low level interface A simple UART is just a few registers w/ a few bits Some bits for baud rate and parity A few bits for interrupt control A status register One RX register and one TX register Minimal code is as follows (warning: serious style bug!) void tx(char c) { while (STATUSREG & TXBUSY) ; TXREG = c; } int rx(void) { if (!STATUSREG & RXFULL) return -1; retrun RXREG; }