Pascal hat Recht, für printf brauchst Du die stdio.h.
Hier mal ein Code, der funktioniert. Die Werte für Taktfrequenz und Baudrate in Zeile 4 und 5 musst Du noch anpassen:

Code:
#include <io.h> 
#include <stdio.h> 

#define F_CPU        8000000       // z.B. 8 MHz Taktfrequenz 
#define UART_BAUD_RATE      9600 // z.B. 9600 kb/s  
#define UART_BAUD_SELECT    (F_CPU/(UART_BAUD_RATE*16l)-1) 

int uart_putchar(char c) 
{ 

  if (c == '\n') 
    uart_putchar('\r'); 
  loop_until_bit_is_set(UCSR0A, UDRE); 
  UDR0 = c; 
  return 0; 
} 

void UartInit(void) 
  { 
  UCSRB = 0x08   //UART Transmitter aktivieren 
  UBRRL = UART_BAUD_SELECT;     //Baud Rate einstellen 
  } 


int main (void) 
{ 

UartInit(); //Schnittstelle initialisieren 
fdevopen(uart_putchar, NULL, 0); 

printf ("HelloWorld"); 

}
Im Wiki habe ich jetzt auf die schnelle keinen Artikel gefunden, in dem printf behandelt wird bzw. die conio.h eingebunden wird..... poste doch mal den Link...

askazo