Forum: PC-Programmierung long in Char / Byte Array


von Jan L. (jan_l)


Lesenswert?

Hallo Community,

Ich versuche gerade (das erste mal) Sensor werte von meinem Board zu 
meinem PC zu schicken.

Ansich auch alles kein problem nur sind meine Sensorwerte auf der Board 
seite vom Typ long und sollen von der SDK aus dann in ein Chararray an 
den PC übertragen werden.

So weit ich das jetzt im Internet gefunden habe kann man das auch durch 
bestimmte Shifts realisieren.

Ich habe also ein Long array in dem sich drei werte befinden und diese 
sollen in mein char Array und wenn ich mir das Programm so ansehe würde 
ich sagen ich hab für jeden longwert 2 "Arrayblöcke".

kann mir hier vielleicht irgendjemand sagen, wie ich an die sache ran 
gehen kann, oder nach welchen Stichpunkten ich googeln kann, um hilfe zu 
finden?

ich glaub nämlich, dass diese Aufgabe des öfteren ein Thema ist :P

lg

ps.: Programmiersprache ist auf der Boardseite natürlich c.

von bluppdidupp (Gast)


Lesenswert?

Suchst du vllt. sowas?
1
long x=123;
2
3
char *y=(char*)&x; // char* Pointer auf x besorgen
4
5
// Zugriff auf einzelne Bytes der long-Variable:
6
y[0], y[1], y[2], ...

von DirkB (Gast)


Lesenswert?

Du kannst der Senderoutine einfach die Adresse von deiner 
long-Variablen/long-Array übergeben. Da brauchst du nichts extra hin und 
her kopieren.

Wichtig ist dabei allerdings, dass dein Controller und der PC die selbe 
Zahlendarstellung /Endianess benutzen.
Sonst musst du die Daten noch umwandeln.

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.