Forum: Mikrocontroller und Digitale Elektronik änder von baude


von Daniel B. (baur)


Lesenswert?

guten morgen

ich habe versucht du baud zu ändern und anders zu initialisieren. nur 
ich komme auf keinen grünen zweig.

******************************************************************
void uart_init(void)
{
UCSRB = (1<<RXEN)|(1<<TXEN);      // UART TX und RX einschalten
UCSRC |= ( 1 << URSEL )|( 3<<UCSZ0 );  // Asynchron 8N1
        //nur für 57600 Baud bei 14.7456MHz für Mega128
UBRRH  = 0;                             // Highbyte ist 0
UBRRL  = 15;                            // Lowbyte ist 15

      //falls anderer Mega bzw andere Frequenz
 //UBRRH = (uint8_t) (UBRR_BAUD>>8);
 //UBRRL = (uint8_t) (UBRR_BAUD & 0x0ff);
          }
***********************************************************************

dies habe ich vor máin stehen und davor habe ich meine BAUD, UBRR und 
Frequenz definieret

im main habe ich den aufruf der funktion uart_init();


nun beim compiliren mekert er mir da USCRB und so nicht deklariert sind.
wie kann ich dann ein register deklarieren?
oder manche ich da was falsch?


dbaur

von let (Gast)


Lesenswert?

Da geht sie hin, die Rechtschreibung...

Welchen Compiler benutzt du? Die Register werden in Header-
Dateien definiert. Beim GCC wäre das die Datei <avr/io.h>,
beim CodevisionAVR nur <io.h>.

Der CAVR kennt nur die Register, nicht aber die einzelnen
Bits. Die mußt du dir dann aus dem Datenblatt des Controllers
raussuchen. Oder du kopierst dir die entsprechenden Definitionen
aus den WinAVR Dateien.

 - Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.