Die UART kann mit einem Sendevorgang - je nach Konfigurationsmöglichkeiten des Controllers - nur maximal 9 Datenbits versenden.
Üblich sind aber 8 Datenbits, also 1 Byte. Das entspricht einem Wertebereich von 0...255.

Wenn Du größere Werte übertragen möchtest, muss der Sender diese zwangsweise in einzelne Bytes aufteilen und der Empfänger muss sie wieder zusammensetzen.
Das Senden für ein Word (also 16 Bit) könnte dann so aussehen:

Code:
void uart_putc (int16_t sende)
{
      while (!(UCSR0A & (1<<UDRE0)))       /* warten bis Senden moeglich */
      {}
      UDR0 = (uint8_t)(sende >> 8);         /* sende High Byte */

      while (!(UCSR0A & (1<<UDRE0)))      /* warten bis Senden moeglich */
      {}
      UDR0 = (uint8_t)sende;                  /* sende Low Byte */ 
}
Gruß,
askazo