Forum: Mikrocontroller und Digitale Elektronik dsPIC33F: 16 Bit Integer per DMA und UART senden


von Andreas T. (Gast)


Lesenswert?

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.

von C. H. (_ch_)


Lesenswert?

Hallo,

dass man die Byte-Order bestimmen kann, ist mir nicht bekannt.
Was spricht dagegen, die Empfängerstelle anzupassen?

Gruß
Christian

von Andreas T. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.