PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] 2 USART´s gleichzeitig nutzen



pirndi
12.01.2013, 17:58
Hallo Leute!

Hab mir ein WiFly Modul besorgt und an meinen Xmega gestöpselt. Nun zu meiner Frage ich möchte meinen Xmega als "bridge" zwischen Pc und WiFly nutzen nur habe ich da probleme beim senden und empfangen.

Ich werde wahrscheinlich etwas ähnliches wie multitasking brauchen oder?

der Empfang funktioniert schon mal nur senden und empfangen will er nicht

Hat jemand schon mal so etwas ähnliches versucht? Hab schon jede menge gegoogelt hab mir auch beispiele vom BTM222 gesucht aber ich finde da nichts?

mfg Pirndi

Bumbum
13.01.2013, 10:19
Guten Morgen,

wenn du die UARTS mithilfe der Interrupts (das Datenblatt ist dein Freund) empfangen und senden lässt ist das Multitasking quasi schon fertig. So funktioniert das ganze und der Xmega hat nicht mal 1% Last für das weiterleiten.

Viele Grüße
Andreas

pirndi
13.01.2013, 10:58
Hallo Andreas!

Danke für deinen Tipp. So ähnlich habe ich es schon versucht nur leider ohne Erfolg. Muss mich aber in den Xmega erst wieder einarbeiten ist ja doch etwas ander als der normal Atmega

robin
13.01.2013, 16:18
Kannst dich auch in den DMA des ATXMEGAS einlesen, der schaufelt die Daten ohne Arbeit der CPU von einer Peripherie zur nächsten.
http://www.atmel.com/Images/doc8046.pdf
http://www.atmel.com/Images/doc8077.pdf (Kapitel 5)

Zwei Kanäle einrichten, einen als Hin- anderen als Rückkanal.
Auf die beiden USART_DATA Register zeigen, triggern bei Receive-complete und nur ein Byte senden.
Dürften alle Einstellungen gewesen sein.

Einziger Nachteil, der DMA greift auf den I/O Bus zu und wenn du nur Daten ausgibst ohne Ende ist der Bus blockiert. Da Mikrocontroller aber rechnen sollten, ist da immer etwas Luft.

pirndi
19.01.2013, 10:00
Hab mir einen Ringbuffer besorgt: https://code.google.com/p/lufa-lib/source/browse/trunk/LUFA/Drivers/Misc/RingBuffer.h?r=2224&spec=svn2263

Macht was es soll :)