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.
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: <em>00110011</em>
También podemos simplemente imprimirlo con Serial.println()
y pasarle como segundo argumento el formato BIN
. Es decir, algo así:
Serial.println(miByte, BIN);
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios
Correcion a el codigo para que se imprima en el mismo orden
void imprimirByte(byte b){
for(byte x = 0; x < 8; x++) Serial.print(bitRead(b, 7-x));
} | aqui|
Gracias por su aporte