Forum: Mikrocontroller und Digitale Elektronik RX Interrupt


von Flite (Gast)


Lesenswert?

Hallo!

Ich arbeite an einem Programm, in dem ein Hauptprogramm ablaufen muss,
während ein Zeichen über den UART empfangen werden muss.

Da die Funktion GetChar den Ablauf des Programms stoppt, dachte ich an
eine interruptbasierende Lösung.

Leider hab ich keinen Plan, wie ich dies zum Laufen krieg. Ich habe mit
dem CodeGenerator das nötige Programm erstellt. Aber wie rufe ich jetzt
ein Zeichen vom UART ab (falls eines vorhanden ist)?

Danke für eure Hilfe (ohne die ich schon aufgeschmissen wäre ;))
Flite

von Frank Linde (Gast)


Lesenswert?

Womit programmierst Du denn? BASCOM?

Gruß, Frank

von Flite (Gast)


Lesenswert?

Ups - das hab ich total vergessen. Tut mir leid!

Ich programmiere in Codevision AVR und verwende den ATmega 8.

Grüße Flite

von Dirk (Gast)


Lesenswert?

frag doch vorher das bit im register ab, ob was neues da ist. es gibt
doch da so ein bit (receive complete oder so...)


gruß

dirk

von Heiß Michael (Gast)


Lesenswert?

Zervas

Wenn due den Code mithilfe des Wizard erstellt hast kannst du einfach
mittels
     if (rx_counter>0)
     {
        Zeichen=getchar();
     }

abfragen ob ein Zeichen Empfangen worden ist.
Der Wizard überschreibt die normale getchar() Funktion.

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.