Messwerte als unsigned char

OP #2468284
Lesenswert?

Hallo,

ich möchte über ein Funkkanal messwerte übertragen. Durch die API sind 
nur arrays mit unsigned char versendbar.

Allerdings liegen meine Daten als Integer vor. der Mikrokontroller ist 
der MSP430BT5190.

Ich komme da nicht weiter. Ich würde gerne mein int Array in Hexdezimal 
umwandeln, nur weiß ich nicht wie. Dierekt das array als Hex z erzeugen 
ist blöde.

Hat jemand ein tip?
Gast #2468366
Lesenswert?

Ein Array aus chars wird doch sowieso als Pointer übergeben. Da steht 
doch als weiterer Parameter bestimmt noch die Anzahl der zu 
übertragenden Bytes, oder?

Dann einfach einen Pointer auf deinen int übergeben und die Größe des 
ints in Byte. Natürlich casten, um Compiler-Warnungen zu vermeiden.

Fertig ist die Laube.
Gast #2470127
Lesenswert?

Da mußt Du aufpassen, daß Dein Pointer immer gerade Adressen enthält. 
Wenn man beim MSP versucht, ein 16-Bit-Wert (oder größer) auf eine 
ungerade Adresse zu schreiben, gibt's einen Adress-Error-Trap.
Besser das int als zwei char reinschreiben und dabei Little/Big Endian 
berücksichtigen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren