Forum: Mikrocontroller und Digitale Elektronik Fragen zu UART


von Christian (Gast)


Lesenswert?

Hallo zusammen,

mal ne grundsätzliche Frage: Ich hab ungefähr folgendes Programm...

LED1 an
Schicke Zeichen "A" über UART
LED2 an
...

Bei mir geht nur die LED1 an. Also hängt sich der µC beim Schicken
irgendwie auf. Woran kann das liegen? Selbst wenn die Baud-Rate falsch
wäre müßte doch das gehen, oder? Ich versuche immer noch das Siemens
C35 seriell anzusteuern und ich komm und komm nicht weiter !
Tipps ?

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Stackpointer falsch initialisiert? Wenn du das Programm nicht zeigst
kann man nur raten.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Bitte als Anhang! Der Hinweis steht ja nicht umsonst da.

von Christian (Gast)


Angehängte Dateien:

Lesenswert?

okay, hier als anhang sorry

von Sebastian Wille (Gast)


Lesenswert?

Hi, die UART-Initialisierung ist falsch. Du hast ein UART kein USART
(wie beim Mega8).

Hier richtig:

sbi UCSRB,TXEN                 ;TX aktivieren
ldi temp1,8000000/(19200*16)-1 ;Baudrate einstellen
out UBRR,temp1

Sebastian

von Christian (Gast)


Lesenswert?

Na gut, das hab ich geändert, aber es geht trotzdem noch nicht ganz.
Mittlerweile hab ich herausgefunden das es eigentlich nur beim Senden
des Carriage return und des new line-zeichens Probleme gibt. Warum denn
das schon wieder?

ldi temp, 0x0A
rjmp serout
ldi temp, 0x0D
rjmp serout

Hier hängt er sich auf! Er schickt kein 0x0A !?

von Tobias Bremer (Gast)


Lesenswert?

Hallo,

mach mal aus
rjmp serout
ein rcall serout

Gruß Tobias

von Christian (Gast)


Lesenswert?

Auch du hast recht! Jetzt bleibt es nicht mehr da hängen und schickt
auch ein 0x0A raus. Aber das Hand wählt trotzdem noch nix. Aber es
sieht schon besser aus. DANKE für alle Tipps bis jetzt !

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.