#include <stdio.h>
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
int main() {
//Inicializar comunicação padrão
stdio_init_all();
//Inicializar o pino 12 como saída
const uint LED_PIN = 12;
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
//Definir o intervalo para 1 segundo (1000 milissegundos)
uint32_t interval = 1000; //Intervalo em milissegundos
//Definir o próximo tempo para acordar
absolute_time_t next_wake_time = delayed_by_us(get_absolute_time(), interval * 1000);
//Estado inicial do LED (desligado)
bool led_on = false;
while (true) {
//Verificar se o tempo atual atingiu o próximo tempo definido
if(time_reached(next_wake_time)){
//Alternar o estado do LED manualmente
led_on = !led_on;
gpio_put(LED_PIN, led_on);
//Atualizar o próximo tempo de acordar
next_wake_time = delayed_by_us(next_wake_time, interval * 500);
}
//Pequena pausa para reduzir o uso da CPU
sleep_ms(1);
}
}