Forum: Compiler & IDEs USART Gehversuche und "syntax error before "volatile""


von Ederer Christoph (Gast)


Angehängte Dateien:

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

von johnny.m (Gast)


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.

von Ederer Christoph (Gast)


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.

von Ederer Christoph (Gast)


Lesenswert?

Sorry, mein Fehler. Hab den alten Code noch stehen lassen. Es funzt!!!
Der Compiler ist jetzt ohne Fehler durch.
Danke also

von Karl H. (kbuchegg)


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.

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.