Necesito pistas para crear variables de 4 bytes ,como cambiar y operar

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.

Buscá union que es justo lo que necesitas.

Saludos

PD: Te dejo un ejemplo

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(){
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.