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

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.