PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USART Interrupt



masasibe
16.02.2011, 11:12
Hallo zusammen!
Ich habe gerade einen ATmega32 und einen ATmega48 über UART kommunizieren lassen. Das hat mit den Befehlen "printbin" und "inputbin" sehr gut funktioniert. Nun möchte ich aber das USART Interrupt nutzen, damit der Empfänger (in diesem Fall der ATmega48) ein Byte automatisch ohne inputbin empfängt und darauf reagiert.
Ist das mit Bascom möglich?

Ich habe gelesen, es gibt 3 USART Interrupts USART RXC, USART UDRE und USART TXC.

for_ro
16.02.2011, 12:01
Du kannst im Empfänger den URXC Interrupt verwenden um nach Eintreffen eines Zeichens zu einer entsprechenden ISR zu springen.
Das Zeichen kannst du dann direkt aus dem UDR Register auslesen.

masasibe
16.02.2011, 15:03
Wie kann ich denn den Interrupt konfigurieren?
Ich habe es mit "Config URXC" probiert, aber es hat nicht funktioniert!

for_ro
16.02.2011, 15:28
Wie kann ich denn den Interrupt konfigurieren?
Ich habe es mit "Config URXC" probiert, aber es hat nicht funktioniert!
Konfigurieren brauchst du den Interrupt nicht.
Du musst nur festlegen, wie die zugehörige ISR heißt und den Interrupt enablen. Global natürlich auch.

masasibe
18.02.2011, 18:04
Ist es richtig wenn ich schreibe:
on URXC isr_urxc
enable interrupts
enable URXC

isr_urxc:

return
?

for_ro
18.02.2011, 21:00
Ja, ist korrekt.