// ---------------------------------------------------------------------------
// (| " Blink_no_setup_no_loop.ino                                         "|)
// (| "                                                                    "|)
// (| " Este es un sencillo sketch para Arduino, escrito en C++ sin        "|)
// (| " void setup() y sin void loop() que implementa un Blink.            "|)
// (| " Señor(a) Maker note al final del sketch que solo se han usado      "|)
// (| " 158 bytes de la memoria de programa y 0 bytes de la memoria        "|)
// (| " dinamica! utilizando programacion por registros para               "|)
// (| " Microcontroladores RISC AVR.                                       "|)
// (| "                                                                    "|)
// (| " La mayoría de los Arduinos tienen un LED incorporado, <LED_BUILTIN>"|)
// (| " que pueden controlar. Sobre el Arduino UNO R3, MEGA y NANO está    "|)
// (| " conectado al pin digital 13 y este es el que utilizaremos aqui.    "|)
// (| "                                                                    "|)
// (| " Este código de ejemplo es de dominio público.                      "|)
// (| "                                                                    "|)
// (| " Maker/Developer: jorgechac© - Técnico Laboral en Programación UNAB "|)
// (| "                                                                    "|)
// (| " Visita https://jorgechac.blogspot.com/                             "|)
// (| "                                                                    "|)
// (| " Venta de accesorios Arduino/Raspberry Pi Pico/ESP32                "|)
// (| " Whatsapp y Ventas NEQUI +573177295861                              "|)
// (| " Bucaramanga - Colombia                                             "|)
// (| "                                                                    "|)
// (| " Simulación https://wokwi.com/projects/343369596226503251           "|)
// (| " Descarga gratis este sketch en:                                    "|)
// (| " https://create.arduino.cc/editor/jorgechac/ca53de47-6950-4cc6-85c2-65c4b0062502/preview "|)
// ------------------------------------------------------------------------------------------------

int main() { // Esta línea define la función principal del programa. El
             // cuerpo de la función main es el punto de entrada de
             // ejecución de todo el programa.

  DDRB = 0xff; // Esta línea establece el registro DDRB en 0xff, lo que
               // significa que se establece el pin digital 13 (LED_BUILTIN
               // en PortB) como una salida.

  while (true) {

    PINB = 0xff; // Esta línea establece el registro PINB en 0xff, lo que
                 // significa que se activa el pin digital 13 (LED_BUILTIN)
                 // y se ilumina o enciende el LED.

    for (long i = 0; i < 500000; i++) { // Este es un bucle que se ejecuta
                                        // 500.000 veces

      asm("");  // Esta línea es una instrucción de ensamblador vacía que
                // no realiza ninguna acción en particular. Su único
                // propósito es agregar un retraso en la ejecución del
                // programa.

    }
  }
}

//Sketch uses 158 bytes (0%) of program storage space. Maximum is 30720 bytes.
//Global variables use 0 bytes (0%) of dynamic memory, leaving 2048 bytes for
//local variables. Maximum is 2048 bytes.