#include "esp_timer.h"
#include "esp_log.h"
#define LED_PIN 2 // Pin del LED (integrado en la mayoría de las placas ESP32)
static const char* TAG = "SimpleTimer";
// Función que se llamará cuando el temporizador se dispare
void timer_callback(void* arg) {
static bool ledState = false;
ledState = !ledState; // Alterna el estado del LED
digitalWrite(LED_PIN, ledState);
ESP_LOGI(TAG, "Estado del LED: %s", ledState ? "Encendido" : "Apagado");
}
void setup() {
pinMode(LED_PIN, OUTPUT); // Configurar el pin del LED como salida
// Configuración del temporizador
const esp_timer_create_args_t timer_args = {
.callback = &timer_callback,
.name = "LEDTimer"
};
esp_timer_handle_t timer;
esp_timer_create(&timer_args, &timer);
// Iniciar el temporizador que se dispare cada 1 segundo (1,000,000 microsegundos)
esp_timer_start_periodic(timer, 1000000);
}
void loop() {
// No se necesita hacer nada aquí ya que el temporizador se encarga del control del LED
}