Las estructuras iterativas, también conocidas como bucles o loops, son fundamentales en la programación, incluido el lenguaje C, especialmente cuando se trata de programar microcontroladores. Estas estructuras permiten ejecutar un conjunto de instrucciones repetidamente mientras se cumpla una condición especificada.
Tabla de contenido
En C, hay tres tipos principales de estructuras iterativas:
La estructura for
es ideal para cuando sabemos el número exacto de veces que queremos que se ejecute un bloque de código.
Se compone mediante 3 parámetros
for (valor de inicio; criterio o condicion; tipo de cambio)
{
//declaraciones
}
//ejemplo.
for (uint8_t i = 0;i < 7; i++)
{
//code
}
Ejemplo de un parpadeo de un LED:
6
{
PORTB = PORTB | (1 << 5); // Encender LED en el pin PB5
_delay_ms(1000); // Retardo de 1 segundo
PORTB = PORTB & ~(1 << 5); // Apagar LED en el pin PB5
_delay_ms(1000); // Retardo de 1 segundo
}
Es una estructura de control **while
**que evalúa una condición y permanece ejecutando de forma indefinida el código dentro de sus llaves, hasta que la condición ya no sea cumplida
👁️ Ejemplo:
Ejemplo de espera activa:
int main()
{
// Inicializar condiciones necesarias
while (1)
{
// Código que se ejecuta indefinidamente
}
}
while (condicíon a evaluar)
{
//declaraciones
}
//ejemplo.
uint8_t i = 0;
while (i < 7)
{
i++;
}
La estructura do-while
asegura que el bloque de código se ejecuta al menos una vez, y luego repite la ejecución mientras la condición sea verdadera.
Funciona de manera similar al WHILE solo que en esta estructura se ejecuta la acción de código una vez sin evaluar el criterio y a partir de la segunda evalúa el código
do
{
//declaraciones
}
while (condicíon a evaluar)
//ejemplo.
uint8_t i = 0;
do
{
i++;
}
while (i < 7)
Ejemplo de uso de do-while
para crear un retardo:
int counter = 0;
do
{
_delay_ms(1000); // Retardo de 1 segundo
counter++;
}
while (counter < 10);
Además, las palabras clave break
y continue
se utilizan dentro de las estructuras de control iterativas para alterar el flujo normal de ejecución.
break
se utiliza para salir de un bucle de inmediato.continue
se utiliza para saltar el resto del código del bucle actual y continuar con la siguiente iteración.En términos generales, la elección entre usar un ciclo for o un ciclo while depende del problema específico que se está abordando. En general, se prefiere un ciclo for cuando se sabe cuántas veces se debe repetir una acción, mientras que un ciclo while se utiliza cuando se repite una acción mientras se cumple una condición.
📚 Tabla de contenido
🗓️ Semana 4 - 📗 Fundamentos de Programación para Microcontroladores
Diagramas de Flujo y Pseudocódigos
Introducción Lenguaje C para microcontroladores
Introducción Lenguaje Assembler para microcontroladores
Ejecución secuencial de instrucciones en un Microcontrolador
Operadores de desplazamiento (bit shifting)
Práctica N.º02 - Gestión Secuencial de Salidas
🗓️ Semana 5 - 📗 Lectura de entradas y estructuras condicionales
Operadores lógicos (bit a bit)
Creación y Uso de Funciones en Microcontroladores
Configuración de entradas y puerto paralelo
Sentencias condicionales con operadores lógicos
Práctica N.º03 - Decodificación de Entradas Binarias
🗓️ Semana 6 - 📗 Estructuras iterativas
Control de display 7 segmentos
Actividad Fundamental N.º02 - Análisis de arquitectura de microprocesadores
🗓️ Semana 7 - 📗Motores de DC y asesorías de medio curso
Sentencias condicionales y lectura de entradas (1)