Forum: Compiler & IDEs Winavr blicke bei der UART nicht durch


von svenP (Gast)


Lesenswert?

Hallo

Habe eine 128 Mega mit 2 hardware Uarts

Wie initialisere ich die UART 0 und 1.

Mit 4800 Baud 8,n,1

es sind zwar immer beispeile vorhanden im forum aber alle nur für meag
8 oder 32.

gibt es einen link wo es narrensicher erklärt wird .

danke

von xXx (Gast)


Lesenswert?

Schon mal is Tutorial geschaut???

von svenP (Gast)


Lesenswert?

Ja habe ich aber wie kommt man auf UCSR0C |= (1<<URSEL)|(3<<UCSZ0);
winavr sagt
rs232.c:15: error: `URSEL' undeclared (first use in this function)

wie errechnet man die stopbits parität usw.

in c für i386 gibt es ein termios.h und die ist bombastisch beschrieben
und einfach zu nutzten.


hier sehe ich nicht durch

es ist nirgens beschrieben warum es UCSR0C heisen soll und nicht UCSRC.
Ich kann mir nur denken das 0 für UART 0 und 1 für UART 1 ist.

von xXx (Gast)


Lesenswert?

oh man, oh man...

die bits berechnet dir die hardware!!!!!!!!!

von Peter D. (peda)


Lesenswert?

"in c für i386 gibt es ein termios.h und die ist bombastisch
beschrieben
und einfach zu nutzten."


Ist beim AVR auch bombastisch beschrieben, sogar mit C-Beispielcode,
das nennt sich Datenblatt.


Peter

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ansonsten als Faustformel: 8N1 ist das Standardframing der
U[S]ART eines jeden AVRs, dafür muss man gar nichts tun.  Es
genügt, wenn du den Vorteiler für deine Baudrate in UBRnL
(und ggf. UBRnH) einträgst, UCSRnC musst du nicht anfassen.
Wenn du keine Lust hast, den Vorteilerwert selbst zu berechnen,
enthält das Datenblatt Beispiele für gängige Prozessorfrequenzen
und Baudraten.

Aber ohne die Fähigkeit, die Datenblätter zu lesen, wirst du
wohl nicht wirklich weit kommen.

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.