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
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.
<<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.
Sorry, mein Fehler. Hab den alten Code noch stehen lassen. Es funzt!!! Der Compiler ist jetzt ohne Fehler durch. Danke also
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.