PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Effizentes Arbeiten mit 2x RX/TX beim Atmega64?



m_herr
04.09.2008, 13:39
Hallo,

der Atmega64 hat ja 2 Schnittstellen, gibt es auch eine Möglichkeit mit beiden zu gleich zu arbeiten, ohne das sie durch waitkey etc alles blockieren?
Momentan stehe ich ein wenig auf dem Schlauch, weil die Rowalt-Version ja nicht geht bei beiden Schnittstellen?

Ich will einfach nur beide Schnittstellen abhorchen, und wenn ein Zeichen kommt, die letzten x gesendeten Zeichen auslesen...oder halt auf ein CR reagieren können, also das die gesendeten Zeichen dann automatisch übergegeben werden. Hat da jemand eine Idee?
Vielen Dank.

markusj
04.09.2008, 14:50
Hi,

ich bin zwar inzwischen von Bascom zu C abgewandert, glaube mich aber an folgendes zu erinnern:
waitkey verrät doch schon einiges über die Funktion, sie wartet bis ein Zeichen kommt.
Du solltest dich an dieser Stelle einmal über interruptgetriebene Programme informieren, wesentlich eleganter ist es, wenn du einen Eingangspuffer hast, in den deine Interruptroutine empfangene Bytes schiebt.
Deine Hauptschleife kann diese Bytes dann auswerten.

mfG
Markus

m_herr
04.09.2008, 16:01
ja, aber Eingangspuffer und Interrupt sollen ja nur bei RX1 funktionieren, bei RX2 nicht.....

for_ro
04.09.2008, 17:06
Dafür gibt es doch
Config Serialin = buffered size=20 bytematch=13 (für CR)
Dann bekommst du einen Interrupt, wenn bei RX1 ein CR empfangen wurde und kannst dann die Zeichen einlesen.

Gruß

Rolf

m_herr
04.09.2008, 20:22
mh, peinliche Frage, gibt es das auch irgendwie im Quelltext als Beispiel?

for_ro
04.09.2008, 20:32
Schau doch mal in der Hilfe unter
Config Serialin
Da steht alles genau erklärt mit schönen Beispielen.

m_herr
04.09.2008, 20:38
na lustig, dann hat sich da ja in Bascom eine Menge getan in der Zeit, in der ich zum letzten Mal die Hilfe benutzt hab*gg
Besten Dank!