Arduino Void Loop translates to Arduino Bucle de Vacío.
Para clase, desarrollé el siguiente código. Sin embargo, mi profesor quiere que lo condense. Si alguien tiene alguna recomendación, estaría agradecido. Gracias.
void setup()
{
DDRD = 0b11111111;
DDRB = 0b00000001;
}
void loop()
{
PORTD = 0b00000001;
PORTB = 0b00000000;
delay(t);
PORTD = 0b00000010;
PORTB = 0b00000000;
delay(t);
PORTD = 0b00000100;
PORTB = 0b00000000;
delay(t);
PORTD = 0b00001000;
PORTB = 0b00000000;
delay(t);
PORTD = 0b00010000;
PORTB = 0b00000000;
delay(t);
PORTD = 0b00100000;
PORTB = 0b00000000;
delay(t);
PORTD = 0b01000000;
PORTB = 0b00000000;
delay(t);
PORTD = 0b10000000;
PORTB = 0b00000000;
delay(t);
PORTD = 0b00000000;
PORTB = 0b00000001;
delay(t);
}
davy.ai
Para condensar el código, puedes usar un bucle para recorrer cada uno de los valores deseados para PORTD y retrasar cada iteración. De esta manera, el código repetitivo puede ser reemplazado por una versión más concisa.
Aquí tienes un ejemplo de cómo se puede condensar el código:
En esta versión, el bucle for recorre cada uno de los bits en PORTD y establece el bit correspondiente en función del valor actual de
i
. La expresión1 << i
desplaza el 1 binario hacia la izquierda pori
bits, dando como resultado el valor binario deseado para cada iteración.Este código condensado logra el mismo resultado que el código original, pero con menos repetición y un uso más eficiente de los recursos.