Hola a todos tengo una duda quisiera saber como unir dos bytes o mas para obtener otro numero, por ejemplo tengo lo siguiente:
int num=2600;
byte a,b;
void setup(){
a=2600; //Aca toma los 8 bits menos significativos que seria 00101000
b=num>>8; //Aca desplazo 8 bits a la derecha y los dejo como menos significativos que seria 00001010
}
void loop(){}
Quisiera saber como unir o concatenar a y b para que me vuelva a dar 2600.
int num=2600;
byte a,b;
void setup(){
a=2600; //Aca toma los 8 bits menos significativos que seria 00101000
b=num>>8; //Aca desplazo 8 bits a la derecha y los dejo como menos significativos que seria 00001010
int c=(b<<8);
c+=a;
}
Para unir 2 byte transformándolo a un int tendrías que añadir 8 ceros con el operador "<<" después con el operador "|" concatenar
si son más de 2 byte continuas añadiendo ceros y concatenas en una variable acorde a los bytes
mírate las siguientes páginas: http://arduino.cc/es/Reference/BitwiseAnd http://arduino.cc/es/Reference/Bitshift
Serial.begin (9600);
//randomSeed(analogRead(0));
Byte_Config[0]=EEPROM.read(0); //Parte más significativa de cualquier "int"
Byte_Config[1]=EEPROM.read(1); /Parte más significativa de cualquier "int"
int intTemp= Byte_Config[0]<<8; //Tomamos la parte HIGH y la desplazamos 8 dígitos a la izaquierda
intTemp= intTemp + Byte_Config[1]; //Sumamos la parte LOW para completar nuestro "in"
Config[0] = intTemp; //Lo cargamos a nuestro registro.
if(Serial.available()>=0) { //Lo mostramos en el monitor serie para comprobar
Serial.println(Config[0]);
}
}