// ---------------------------------------------------------------------------
// (| " 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.
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
r1:1
r1:2
led:A
led:C