Hallo, hat schon jemand mal bei dem Controller den UART1 Rx Empfang über den DMA ins Mem geschoben? Ich habe das Problem, dass die Daten im UART RBR Register ankommen, aber anscheinend kein DMA Transfer angestossen wird. Das erkenne ich daran, dass weder ein DMA Interrupt ausgelöst wird noch die Daten im entsprechenden Speicherbereich zu finden sind. Der DMA Tx Kanal funktioniert einwandfrei. Gibt es irgendeinen Trick (FlowController, o.ä.), was ich noch berücksichtigen muss? Vielleicht hatte ja schon jemand mal ähnliches Problem. Vielen Dank im voraus Heiko
Bei USART finde ich DMA überzogen. Die Übertragungsgeschwindigkeit ist klein. Und wenn ich normale Interrupts verwende, dann kann auch gleich das protokoll mit abfackeln.
Is ja nicht schlimm, dass du das überzogen findest, ich hätte aber trotzdem gerne nen Hinweis, wie ich das lösen kann...
Thomas Winkler schrieb: > Bei USART finde ich DMA überzogen. > > Die Übertragungsgeschwindigkeit ist klein. Und wenn ich normale > Interrupts verwende, dann kann auch gleich das protokoll mit abfackeln. Für niedrige Baudraten schon, aber für > 1 Mbit/s wohl kaum, vor allen dingen soll die CPU evtl. noch andere dinge erledigen.
Darf ich noch einmal den Focus darauf legen, dass es nicht Grundlage der Diskussion ist, OB, sondern WIE das zu lösen ist.
habe ein paar neue erkenntnisse: 1. UART als FlowController, dann werden die Daten schön in den Speicher geschrieben, allerdings kann man keine Länge übergeben und auch die UART steuert das nicht. Ebenso erhält man dadurch keinen DMA IRQ und muss manuell überprüfen, wann der letzte Eintrag im Speicher geschrieben wurde. 2. DMA als FlowController, dann kann man eine Size festlegen, aber dann setzt die UART wohl nur das SOftBReq Bit für die entsprechende Quelle, aber der DMA überträgt die Daten nicht. Weiß dazu vll einer was...?? Danke schon mal
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.