Hola a Todos!!!
Yo estoy trabajando con un LPC1769, y quiero guardar una trama de bits que me tira un sensor. Este entrega 40 bits(5 bytes), por lo que creo una variable de 64 bits donde guardarlos:
typedef unsigned long uint64_t;
uint64_t DATO;
Como cada Byte es un dato, lo que hago es extraerlos por separado en una variable de 8 bits,recurriendo al desplazamiento como lo especifico mas abajo:
typedef unsigned char uint8_t;
uint8_t dato_RH;
El problema se presenta que cuando desplazo para sacar el dato del 5to byte de la siguiente forma:
dato_RH=(uint8_t) ((DATO>>32)& 0x00FF);
y me responde con:
warning: right shift count >= width of type [enabled by default]
dato_RH= (uint8_t)( (DATO >> 32) & 0x00FF);
^
Finished building.
Como verán no soy un experto en el tema,alguna opinión?