On Apr 17, 2007, at 2:32 PM, Benjamin Madore wrote:
On Tue, April 17, 2007 5:08 pm, Jose A. said:
Hi.
In my Tiny OS application I´m trying to obtain the first eight
bits of
a variable that take up 2 bytes of space but i don´t know how I
can do
it.
Any idea?.
typedef union _byte_word {
struct byte {
uint8_t byteA, byteB;
};
uint16_t word;
} byteword;
byteword x;
x.word = (byteword) variable;
...
uint8_t whatIwant = x.byte.byteA;
Now, I'm sure I didn't do that right. I'm also sure I don't know
the endian
format of the transmitter. byteB may be first but last. (Don't try to
understand that. Endian problems are difficult.)
uint16_t val;
uint8_t a;
a = val >> 8; // For most significant 8 bits of val
a = ((uint8_t*)&val)[0]; // For first byte of val
Phil
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help