Hier ein Beispiel für die UART1 Routinen aus der NIBOlib:
Code:
UART1_set_baudrate(38400); // immer 8N1
UART1_enable();
sei();

while (1) {
  if (!uart1_rx_empty() && !uart1_txfull()) {
    // wenn Empfangspuffer nicht leer und Sendepuffer nicht voll
    char c = UART1_get_char(); // Zeichen holen
    UART1_put_char(c); // und zurückschicken
  }
}