Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 3
Tema 3
En todos los programas que vamos a hacer para ESP32 nos encontraremos con dos bloques que siempre
van a estar presentes. Esto es común a la programación de cualquier microcontrolador que nos
encontremos. Estos dos bloques son los siguientes:
Por un lado tenemos las acciones que el dispositivo realiza cuando se está encendiendo. Éstas,
usualmente son acciones preparatorias o indicativas para el usuario de su correcto encendido
(pitidos, iluminación de LED, puesta en el modo anterior de funcionamiento, etc). Estas acciones
son las que se enmarcarán dentro de un “bloque” denominado setup().
Por otro lado, una vez que el dispositivo está listo para comenzar a realizar su tarea, comienza la
gestión de la misma. Esto siempre es una serie de acciones que se repiten indefinidamente,
hasta que decidamos apagarlo. Estas acciones se enmarcan dentro de un “bloque” llamado loop().
Para entender un poco mejor este concepto, podemos pensar en los siguientes ejemplos:
Aire acondicionado
Bloque setup():
• Realizar un pitido
• Encender LED
• Bajar deflector hasta su posición inferior
• Configurar temperatura y modo de trabajo según la última vez
Bloque loop():
• Leer temperatura
• Si la temperatura es menor que la establecida, arrancar bomba de calor
• Si la temperatura es mayor que la establecida, arrancar compresor de aire frío
• Comprobar si el usuario ha pulsado el mando a distancia
• Volver a repetir las cuatro líneas anteriores
void loop() {
// Introducir aquí código que se ejecutará en bucle infinito
}
Código BareMinimum (File -> Examples -> 1. Basics -> BareMinimum)
3.- Carga el sketch en la placa ESP32. Si todo va bien aparecerá el texto Subido en el área de
mensajes del IDE.
5.- Una vez comprobado que todo está en orden, intentemos comprender las partes de este código:
Se distinguen dos bloques: el setup y el loop. Por ahora ignoraremos el significado y uso
de las palabras void y de los símbolos ( y ). Cada uno de los dos bloques delimita su
contenido mediante las llaves de apertura { y cierre }. Todo el código que se encuentre
dentro de estos delimitadores pertenecerá a ese bloque, cuyo nombre da la palabra en
negrita (setup y loop en estos casos)
En este primer código, el único contenido que presenta cada uno de los bloques es lo que
se denomina comentario, que es todo texto que comienza con los caracteres // y que
indica al compilador que debe ignorar todo texto que aparezca a continuación de la marca
de comentario //. Otra forma de poner comentarios es mediante en uso de los símbolos /*,
que indica el comienzo de un comentario y */ que indica el final del comentario.
Todo código que pertenezca al bloque setup será ejecutado, como indica el comentario,
una única vez: durante el proceso de arranque del microcontrolador, mientras que el
código del bloque loop será procesado una y otra vez mientras el dispositivo continúe
alimentado.
6.- Cambia los comentarios // de este programa por comentarios de tipo /* [...] */
7.- Cambia el orden de los bloques, haciendo que el bloque loop esté antes que setup y comprueba
que el programa compila (verify) y que, al cargarlo (upload) en el ESP32, éste continua teniendo
el mismo comportamiento que antes de realizar el cambio.