#include <stdio.h>
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
#include "pico/time.h"
int main(){
//Inicializar comunicação padrão (para printf)
stdio_init_all();
//Configurar 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 milisegundo)
uint32_t interval = 1000/10; //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 tempo de acordar
next_wake_time = delayed_by_us(next_wake_time, interval*1000);
}
//Pequena pausa para reduzir o tempo da CPU
sleep_ms(1);
}
}