Forum: Mikrocontroller und Digitale Elektronik kann das UART so funktionieren?


von tommal (Gast)


Angehängte Dateien:

Lesenswert?

hi!

ich habe mich mal hingesetzt und versucht ob ich ein UART programm zum 
empfangen und dann wieder senden des mega8 per rs232 schreiben kann.

wollte fragen ob jemand mal bitte einen blick drauf werfen könnte und 
mir sagen könnte ob dies so funkionieren kann?

vorallem mit den "ret" und "reti" in den unterprogrammen.


vielen liebe dank!

lg,
tommal

von rene (Gast)


Lesenswert?

in den interrupts muss man noch das status register pushen/popen. Als 
Beispiel :
http://www.ibrt.ch/embedded/avruart.html

rene

von tommal (Gast)


Lesenswert?

hi rene!
danke für die antwort,

weiß leider nicht genau wo du meinst. kannst mir den teil mal 
rausschreiben bitte?

sollte es ansonsten funktionieren?

lg

von Gelangweilter (Gast)


Lesenswert?

Hats hier nicht schon genug UART-Beiträge gegeben? Inzwischen sollten 
doch alle Fragen hinreichend geklärt sein wenn man sich nur mal die Mühe 
macht diese Beiträge zu lesen. Da dürfte so ziemlich jeder Controller in 
jeder PRogrammiersprache schon durchgekaut worden sein. Und ganz im 
Zweifelsfall gibts tatsächlich noch ein Tutorium!!!

von Jan (Gast)


Lesenswert?

Also bei den Werten die oben auskommentiert stehen, müsste UBRR eher 6 
als 25 sein (1MHZ, 9600 Baud)

Da Du auch senden willst, solltest Du vielleicht auch den Transmitter 
aktivieren (TXEN)

RET und RETI sehen richtig aus...

von Stefan (Gast)


Lesenswert?

>> in den interrupts muss man noch das status register pushen/popen.

> weiß leider nicht genau wo du meinst. kannst mir den teil mal
> rausschreiben bitte?

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Interrupts#Besonderheiten_in_einem_Interrupt_Handler

von tommal (Gast)


Lesenswert?

UBRRVAL ist absichtlich 25, da ich bei baudrate 9600 eine zu hohe 
fehlerrate (-7%) erhalte.

den TXEN habe ich in der send_1 methode aktiviert (sbi UCSRB,TXEN 
;TX aktivieren)

danke für die antwort!

von tommal (Gast)


Lesenswert?

@ stephan:

temp habe ich ja gepusht:    push temp    ; temp auf dem Stack sichern

oder rede ich jetzt von was anderen? :)

lg

von Jan (Gast)


Lesenswert?

>UBRRVAL ist absichtlich 25, da ich bei baudrate 9600 eine zu hohe
>fehlerrate (-7%) erhalte.
>
>den TXEN habe ich in der send_1 methode aktiviert (sbi UCSRB,TXEN
>;TX aktivieren)

Ein interessanter Ort dafür...

>
>danke für die antwort!

Ich bitte vielmals für meine oberflächliche Analyse Deines Quellcodes um 
Verzeihung...

von tommal (Gast)


Lesenswert?

hi jan!

ich hoffe dass du dass nicht falsch aufgefasst hast. ( ironische 
schreibweise  ist im forum leider schwer zu erkennen)

ich bin wirklich sehr dankbar für deinen eintrag, und dass man nicht 
immer alles sieht ist klar und absolut kein problem :)

lg

von rene (Gast)


Lesenswert?

@tommal,
fuer die ASM version des UARTinterrupts mit
push und pop :
http://www.ibrtses.com/embedded/avrasmuartint.html

rene

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.