Hallo

Ich versuche schon seit ner weile meinen AVR zu initialisieren, dass Problem mein AVR Studio das mit dem winavr-gcc arbeitet findet den 'UBRRH0' ausdruck nicht ich vermute das mir eine include Datei fehlt.
Ich habe mich ganz an das Datenblatt gehalten.

Code:
/* 
  UART-Init: 
Berechnung des Wertes für das Baudratenregister 
aus Taktrate und gewünschter Baudrate
*/
 
#ifndef F_CPU

#warning "F_CPU war noch nicht definiert, wird nun nachgeholt mit 8000000"
#define F_CPU 8000000UL  // Systemtakt in Hz - Definition als unsigned long beachten 
                         // Ohne ergeben sich unten Fehler in der Berechnung
#endif
 
#define BAUD 9600UL      // Baudrate
 
// Berechnungen
#define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1)   // clever runden
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     // Reale Baudrate
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD) // Fehler in Promille, 1000 = kein Fehler.
 
#if ((BAUD_ERROR<990) || (BAUD_ERROR>1010))
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! 
#endif 

#include <avr/io.h> 
#include <avr/interrupt.h>



void USART_Init( unsigned int baud )
{
/* Set baud rate */
UBRRH0 = (unsigned char)(baud>>8);
UBRRL0 = (unsigned char)baud;
/* Enable receiver and transmitter */
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}

int main (void) {

USART_Init() ;


// bei neueren AVRs steht der Status in UCSRA/UCSR0A/UCSR1A, hier z.&nbsp;B. fuer ATmega16:
    while (!(UCSR0A & (1<<UDRE0)))  /* warten bis Senden moeglich                   */
    {
    }
 
    UDR0 = 'x';                    /* schreibt das Zeichen x auf die Schnittstelle */

 }
Und das Resultat ist,

Code:
Build started 19.3.2011 at 15:34:49
avr-gcc  -mmcu=atmega644 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT test.o -MF dep/test.o.d  -c  ../test.c
../test.c:9:2: warning: #warning "F_CPU war noch nicht definiert, wird nun nachgeholt mit 8000000"
../test.c: In function 'USART_Init':
../test.c:33: error: 'UBRRH0' undeclared (first use in this function)
../test.c:33: error: (Each undeclared identifier is reported only once
../test.c:33: error: for each function it appears in.)
../test.c:34: error: 'UBRRL0' undeclared (first use in this function)
../test.c: In function 'main':
../test.c:43: error: too few arguments to function 'USART_Init'
make: *** [test.o] Fehler 1
Build failed with 5 errors and 1 warnings...
Ich weis das Es irgendein einfacher Fehler ist nur ich find in nicht.
Danke.