Hallo listner,

wie wäre es einfach mit den Funktionen aus der LIB:

Code:
void UartPutc (
  unsigned char zeichen)
{
  UCSRB  = 0x08;                        // enable transmitter
  UCSRA |= 0x40;                        // clear transmitter flag
  while (!(UCSRA & 0x20))               // wait for empty transmit buffer
    ;
  UDR = zeichen;
  while (!(UCSRA & 0x40))               // Wait for transmit complete flag (TXC)
    ;
}


void SerPrint (
  unsigned char *data)
{
  unsigned char i = 0;

  while (data [i] != 0x00)
    UartPutc (data [i++]);
}


void PrintInt (
  int wert)
{
  char text [7];                        // "-12345"

  itoa (wert, text, 10);
  SerPrint (text);
}
Ist zwar auch nicht der winzigklein-Programmcode, aber im Moment scheint dein Programm ja noch nicht allzu lang zu sein

Du nutzt dann void "PrintInt (data[0]);" in deinem main(), und gut ist. Hoffe ich.

Gruß Sternthaler