Hola,
no entiendo muy bien la pregunta: si te refieres a operaciones de desplazamiento de bits, busca en Google operaciones a nivel de bits o bitwise operators y tendrás toda la documentación que quieras.
que diferencia hay para trabajar con un Tipo de dato int con int8_t, ???..no veo la diferencia
he visto que para hacer operaciones entres tipos de datos fijos, ejemplo int8_t , y un int16_t, hay que escalar
a un misma escala. como se hace eso ???
uint8_t es un tipo de datos, en arduino se utiliza byte, que es una "redenominación" de ese tipo (mira en el fichero arduino.h).
Como ya te he dicho, los tipos byte e unsigned int son "redenominaciones", es decir, son los mismos que los tipos uint8_t y uint16_t. Por lo tanto, puedes hacer operaciones directamente entre tipos byte y uint8_t.
typedef uint8_t boolean;
typedef uint8_t byte;
El archivo está en : Arduino-1.0.1\hardware\arduino\cores\arduino\Arduino.h
Omnicoptero:
creo que un int, amacena 2 byte. y el int8_t amacena la 1 byte. es decir ahorran espacio.
uint8_t no te ahorra espacio, realmente estás trabajando con valores de 8 bits, es decir con valores de 0 a 255, mientras que con (unsigned) int trabajas con valores de 16 bits (de 0 a 65535).
Omnicoptero:
he visto que para hacer operaciones entres tipos de datos fijos, ejemplo int8_t , y un int16_t, hay que escalar
a un misma escala. como se hace eso ???
¿A qué te refieres con "escalar"? Entre valores uint8_t y uint16_t se trabaja igual que entre byte e int
int8_t es una caja en la que caben 8 patatas e int16_t otra en la que caben 16 patatas, las dos guardan patatas, no tienes que convertir patatas a manzanas ni nada, opera entre ellos de forma normal y ya está.
¿Como hacías hasta ahora para sumar un byte y un int?