Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/FrancoMartino/cod-es/llms.txt

Use this file to discover all available pages before exploring further.

Cod-ES simplifica las pausas temporales con la función esperar, que acepta la cantidad de tiempo y la unidad deseada en un solo llamado.

Constantes de unidad

ConstanteValorEquivalente Arduino
MILISEGUNDOS0delay(ms)
SEGUNDOS1delay(s * 1000)
MICROSEGUNDOS2delayMicroseconds(us)
MILISEGUNDOS es la unidad por defecto. Si no se pasa el segundo argumento, esperar interpreta el tiempo en milisegundos.

Función esperar

Detiene la ejecución durante el tiempo especificado.
body.tiempo
float
required
Cantidad de tiempo a esperar. El tipo float permite fracciones (por ejemplo 0.5 segundos).
body.modo
int
default:"MILISEGUNDOS"
Unidad de tiempo: MILISEGUNDOS, SEGUNDOS o MICROSEGUNDOS.

Ejemplos

Uso predeterminado. Pausa la ejecución durante el número de milisegundos indicado.
bucle
  encender(LED_INTERNO);
  esperar(500);             // 500 ms
  apagar(LED_INTERNO);
  esperar(500, MILISEGUNDOS); // equivalente explícito
fin

Comportamiento interno

Internamente, esperar delega en las funciones nativas de Arduino según la unidad elegida:
// Implementación en time.h
void esperar(float s, int modo = MILISEGUNDOS)
{
    switch (modo)
    {
    case MILISEGUNDOS:
        delay(s);
        break;
    case SEGUNDOS:
        delay(s * 1000);
        break;
    case MICROSEGUNDOS:
        delayMicroseconds(s);
        break;
    default:
        delay(s);
        break;
    }
}
esperar bloquea completamente la ejecución. Durante una pausa el programa no puede leer sensores, atender comunicación serial ni actualizar salidas. Para tareas concurrentes, usa millis() con lógica no bloqueante.

Ejemplo completo: temporizador de 3 etapas

#include <cod-es.h>

inicio
  configurarSalida(LED_INTERNO);
  Serial.begin(9600);
fin

bucle
  // Etapa 1: parpadeo rápido (milisegundos)
  repetir(entero i = 0, i < 6, i++)
    salidaDigital(LED_INTERNO, ENCENDIDO);
    esperar(100);
    salidaDigital(LED_INTERNO, APAGADO);
    esperar(100);
  fin

  // Etapa 2: pausa larga (segundos)
  Serial.println("Esperando 3 segundos...");
  esperar(3, SEGUNDOS);

  // Etapa 3: pulso corto (microsegundos) — ejemplo de señal
  repetir(entero j = 0, j < 5, j++)
    salidaDigital(9, ALTO);
    esperar(500, MICROSEGUNDOS);
    salidaDigital(9, BAJO);
    esperar(500, MICROSEGUNDOS);
  fin
fin

Build docs developers (and LLMs) love