Introducción
Estuve trabajando en un proyecto en donde se tenían que encender algunos leds usando un registro de corrimiento 74HC595, y para depurar necesitaba imprimir el byte
completo (incluyendo ceros a la derecha).
Como no encontré una manera correcta de hacerlo (aunque seguramente existe) hice una propia.
Función
Para imprimir una variable de tipo byte, bit por bit, podemos usar la siguiente función:
void imprimirByte(byte b){
for(byte x = 0; x < 8; x++) Serial.print(bitRead(b, x));
}
Lo que hace es imprimir en el monitor serial el byte completo. Como argumento recibe un byte y no regresa nada. Para llamar al procedimiento, podemos hacerlo así:
byte miByte = B00110011;
imprimirByte(miByte);
La salida sería: _00110011_
Alternativa
También podemos simplemente imprimirlo con Serial.println()
y pasarle como segundo argumento el formato BIN
. Es decir, algo así:
Serial.println(miByte, BIN);
Referencias
Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya
actualizado algún sistema o publicado un nuevo software.
Facebook
| X
| Instagram
| Telegram |
También estoy a tus órdenes para cualquier contratación en mi página de contacto