Saludos, estoy pensando crear una variable de 4 bytes, quiero tener
byte a1,a2,a3,a4;
y unirlos de alguna forma en la memoria para tener una variable b con 32 bits. Luego esta variable b poder con codigos, cambiarle cualquiera de sus bits.
Agradezco todas las pistas y link donde podria yo aprender. Gracias!
Puedes usar un "unsigned long" que tiene 32 bits, y toquetear los bits con las funciones que tienes para ello: lowByte, highByte ,bitRead, bitWrite, bitSet y bitClear.
union miUnion{
unsigned long miUL; // 4 bytes
byte a[4]; // Array de bytes de igual al tamaño que miUL
} b;
void setup(){
Serial.begin(9600);
b.miUL = 1234567890; // un valor ejemplo
Serial.print("b.miUL = ");
Serial.println(b.miUL, HEX); // se muestra en hexa para que sea más evidente la igualdad
for (byte i = 0 ; i < 4 ; i++){
Serial.print("b.a[");
Serial.print(i);
Serial.print("] = ");
Serial.println(b.a[i], HEX);
}
}
void loop(){
}