In C mach doch einfach eine union (2 oder mehr definitionen desselben Speicherbereichs)
union {
char cZ[8];
float dF;
} name;
gerechnet wird mit name.dF
gesendet etc. mit name.cZ[ 0] -- name.cZ[ 7]
hallo leute,
noch ein kleines Problemchen:
ich möchte eine float-Variable über die serielle Schnittstelle senden.
Es ist aber mit floats keine Bitschieberei (shl, shr ...) möglich, um sie in ihre 8 Byte zu zerleegen.
Weiß einer, wie man an die 8 Byte herankommt?
Gruß debbi1
In C mach doch einfach eine union (2 oder mehr definitionen desselben Speicherbereichs)
union {
char cZ[8];
float dF;
} name;
gerechnet wird mit name.dF
gesendet etc. mit name.cZ[ 0] -- name.cZ[ 7]
Hallo Gast,
gute Idee, aber wenn ich in C2 nacheinander definiere:
byte bvar[8];
float fvar;
... dann haben die beiden unterschiedliche Speicherbereiche.
gruß debbi1
Guckst Du mal hier:
http://www.cc2net.de/Foren/CC2Net_Fo...net_forum.html > Suchfunktion: "getfloat"
oder im Handbuch das Kapitel über mem.c2 ....
ciao ...
Servus debbi !
Der Knackpunkt ist die "union"-Definition
Lesezeichen