USART Gehversuche und "syntax error before "volatile""

Gast #410661
Lesenswert?

Hallo Leute,
ich versuche meine ATMega128 ein einzelnes Zeichen über seinen USART0
an meinen Computer schicken zu lassen an dem dann ich sehnsüchtigst mit
dem HyperTerminal auf Dessen Ankunft warte.

Leider bin ich noch nicht mal soweit gekommen. Weil mir mein Compiler
die netten Worte
485test.c:25: error: syntax error before "volatile"
485test.c:32: error: syntax error before "volatile"
485test.c:39: error: syntax error before "volatile"
ins Ohr flüsstert.
Die Fehlermeldungen beziehen sich auf
Zeile25:  UCSR0B |= ( 1 << TXEN0 );
Zeile32:  UCSR0C |= ( 3 << UCSZ00 );
Zeile39:  UBRR0L = 6;
dazwischen sind nur Kommentare.

Und so ganz nebenbei, hab ich denn den USART richtig eingestellt? Ich
orientier mich am AVR-GCC-Tutorial und models halt auf meinen 128'er
um.

Grüße Christoph
Angehängte Dateien:
Gast #410662
Lesenswert?

In C dürfen Anweisungen nur innerhalb von Funktionen stehen. Das gilt
auch für Deine USART-Initialisierung. Wenn Du die in main() mit
reinverfrachtest, dürfte es keine Probleme mehr geben.
Gast #410663
Lesenswert?

<<In C dürfen Anweisungen nur innerhalb von Funktionen stehen

Muss wirklich? Dachte gerade so Initalisierungen sollten außerhalb
sein. Na, werd ich halt in Zukunft so praktizieren. Jedenfalls hats
nichts gebracht. Genau die gleiche Fehlermeldung.
#410665
Lesenswert?

> Muss wirklich? Dachte gerade so Initalisierungen sollten außerhalb
> sein.

Du redest von Variablen-Initialisierungen. Die können immer
bei der Definition einer Variable verwendet werden.
In deinem Beispiel definierst du keine Variable.

> Na, werd ich halt in Zukunft so praktizieren
Ein C-Buch zu lesen wäre sinnvoller.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren