so gehts mit dem Debuggen:

Code:
//-------------------------------------------------------
int uart_putchar(char c)
{
  if (c == '\n')
    uart_putchar('\r');
  loop_until_bit_is_set(UCSRA, UDRE);
  
  UDR = c;
  
  return 0;
}


int main(void)
{
	fdevopen(uart_putchar, NULL, 0); // 4 debugging -> use printf :-)

	UCSRA  = 0x00; // Control und Status Register
	UCSRB |= (1 << TXEN) // TXEN=TX an
	UCSRC |= (1 << USBS) | (3 << UCSZ0);  // asyncron 8N1->Handbuch
	UBRRH  = 0;
	UBRRL  = 51; // 103 für 9600 || 51 für 19200 || 25 für 38400 || 16 für 57,6k || 12 für 76,8 || 8 für 115,2 - alles bezogen auf 16 MHz


	// und dann der Test 

	printf("hallo pc");

	// oder so:

	UDR = 'x';

	return(0);
}
Das müßte so tun