UART on my atmega328. Dataregister on the USART (UCSR0A) status never set on
I don't see where you put the correct F_CPU definition, which is mandatory for setbaud.h. 

You also have to define the BAUD macro to use UBRR(L|H)_VALUE, like this:

#define F_CPU 1e6       // 1Mhz clock
#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;

void initUSART(void) {
 #define BAUD 9600
 #include &lt;util/setbaud.h&gt; 
 UBRR0H = UBRRH_VALUE;
 UBRR0L = UBRRL_VALUE;
// ...
}


You can also calculate the UBRRnx values with this site. The values depend on your clock speed and the prescaler setting. At the default configuration it is simply one, so it is not used.

And don't forget the pull-up resistors (about 10K ohm) at the TX/RX lines.

I hope this helps.