Hallo! Ich möchte per DMA einen 16-Bit Integer Wert per DMA an den UART übertragen. Mein Problem ist, dass TX-Register des UART ja nur 8-Bit breit ist und somit die 16 Bit nicht direkt "annehmen" kann. Bisher habe ich es so gelöst, dass der DMA Controller einen Byte Transfer anstelle des gesamten Words ausführt. Der 16 Bit Wert wird also in 2 Bytes unterteilt und einzeln versendet. Leider wird dabei zuerst das höherwertige Byte übertragen, so dass der Werte "verdreht" ausgegeben wird. Gibt es vielleicht eine Möglichkeit, die gesamten 16-Bit an den UART zu senden? Den Wert vorher manuell zu zerlegen und zu vertauschen ist keine Option. Ich hoffe ich habe mein Problem einigermaßen verständlich erläutert. Vielen Dank schon mal.
Hallo, dass man die Byte-Order bestimmen kann, ist mir nicht bekannt. Was spricht dagegen, die Empfängerstelle anzupassen? Gruß Christian
Danke für die schnelle Anwort. Die Empfängerstelle anzupassen wäre eine Möglichkeit. Das möchte ich aber nur als letzte Möglichkeit nutzen.
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.