#include <stdio.h>
#include "pico/stdlib.h"
// Embarcatech 2024 - Projeto 8 - interrupcao com gpio simples
// autor: Luis Ferlim
// luisferlim.com
#define LED_VERMELHO 12
#define BOTAO 6
static volatile uint a = 1;
//assinaturas
void init();
static void gpio_irq_handler(uint gpio, uint32_t events);
int main() {
stdio_init_all();
init();
gpio_set_irq_enabled_with_callback(BOTAO, GPIO_IRQ_EDGE_FALL, true, *gpio_irq_handler);
while (true);
}
void init(){
gpio_init(LED_VERMELHO);
gpio_init(BOTAO);
gpio_set_dir(LED_VERMELHO, GPIO_OUT);
gpio_set_dir(BOTAO, GPIO_IN);
gpio_pull_up(BOTAO);
}
void gpio_irq_handler(uint gpio, uint32_t events){
a++;
if (a%2==0){
gpio_put(LED_VERMELHO, 1);
} else {
gpio_put(LED_VERMELHO, 0);
}
}