Dieser Code läuft bei mir:
Code:
/*
===========================================================
Aufgabe:

Sende "Hallo Welt" über die RS232   UND
LED auf PB2 anzünden

Autor: JWT
===========================================================
*/

#include <stdlib.h>
#include <avr/io.h>
/*   #include <avr/iotn2313.h>     <<< das is ja wohl nix   */

//#define MCU = attiny2313

//   ### NEIN ### Mit Quarz 16 Mhz-CPU
//   Interner Oszillator, 8 MHz
#define F_CPU  8000000
#define BAUD 9600 
#define UBRR (unsigned int)(F_CPU / BAUD / 16 - 0.5)


//   ### Portinitialisierung und waitms aus RNContr Demo C

//   *### Ports setzen ###
//   Ports auf HIGH/LOW setzen

static inline void setportbon(const uint8_t n)
{PORTB |= (1<<n);}   //set PORTB.n high
static inline void setportboff(const uint8_t n)
{PORTB &= ~(1<<n);}   //set PORTB.n low

/*### Programm pausieren lassen ###*/
/*Pausenwert ist nur experimentell !*/

void waitms(uint16_t ms)
{
   for(; ms>0; ms--)
   {
      uint16_t __c = 4000;
      __asm__ volatile (
         "1: sbiw %0,1" "\n\t"
         "brne 1b"
         : "=w" (__c)
         : "0" (__c)
      );
   }
}



// ------------------------------------------------------------------
//   Dieser Codeschnipsel ähnlich 2313-doc, S 121

void USART_Init( unsigned int baud )

{
/* Set baud rate */
UBRRH = (unsigned char)(baud>>8);
UBRRL = (unsigned char)baud;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 2stop bit */
UCSRC = (3<<UCSZ0);
}

// ------------------------------------------------------------------
void sendchar(unsigned char c)
{
   while(!(UCSRA & (1<<UDRE))) //Warten, bis Senden möglich ist
   {
   }
   
   UDR = c; //schreibt das Zeichen aus 'c' auf die Schnittstelle
}

// ------------------------------------------------------------------
void sendUSART(char *s) //*s funktiniert wie eine Art Array - auch bei
         // einem String werden die Zeichen (char)
         // einzeln ausgelesen - und auf die
         // Sendeschnittstelle übertragen
{
   while(*s)
   {
   sendchar(*s);
   s++;
   }
}

// ------------------------------------------------------------------
/*### Hauptschleife ###*/
int main(void)
{
  USART_Init(UBRR);      //USART initialisieren
  DDRB=0xff;
//   for(uint8_t i=0; i<10; i++)

for(;;){
   
   setportboff(2);
   waitms(150);
   setportbon(2);
   



 

   /*###Text senden###*/

   sendUSART("\r\n\n\n"); //Sendet Kenung und Text.
            // "\r" setze Cursor auf Zeilenanfang,
            // "\n" beginnt dann die nächste Zeile
   sendUSART("**** ATtiny2313 *****\r\n");
   sendUSART(" \r\n");
   sendUSART("Hallo, Welt.\r\n");
   sendUSART(" \r\n");
} 
}
Wie schon erwähnt PORTB als Ausgang definieren und den UART richtig einstellen, du hast die Baudrate in den UBRRL und H geschrieben.

Edit: Ich habe auf 1Stopbit geändert