Pico Eğitim Kartı
 
Yüklüyor...
Arıyor...
Eşleşme Yok
Butonlar

r

Bu sayfa, kart üzerindeki YUKARI, TAMAM ve AŞAĞI butonlarının kullanımını özetler.

  • Başlatma: init_buttons()
  • Olay kontrolü: button_pressed(gpio), check_button_event(gpio, event)
  • Bekleme: wait_for_button_press(timeout_ms)

Hızlı Başlangıç

int main(void) {
while (1) {
gpio_put(LED_GREEN, 1);
}
gpio_put(LED_YELLOW, 1);
}
gpio_put(LED_RED, 1);
}
tight_loop_contents();
}
}
bool button_pressed(uint gpio)
Debounce korumalı temel buton basma kontrolü
Definition buttons.c:37
void init_buttons(void)
Tüm buton GPIO pinlerini başlat.
Definition buttons.c:58
#define BUTTON_OK
Definition pico_training_board.h:40
#define BUTTON_UP
Definition pico_training_board.h:39
#define BUTTON_DOWN
Definition pico_training_board.h:41
#define LED_RED
Definition pico_training_board.h:48
#define LED_GREEN
Definition pico_training_board.h:50
#define LED_YELLOW
Definition pico_training_board.h:49
void init_board(void)
Tüm kart bileşenlerini başlatır.
Definition init_functions.c:112
int main()
Definition main.c:244
Raspberry Pi Pico eğitim kartı için pin tanımlamaları ve yapılandırmaları

IRQ Tabanlı Kullanım (Anti-Repeat)

main.c içinde örnek kesme geri çağrısı 50 ms anti-repeat kapısı uygular.

void button_callback(uint gpio, uint32_t events) {
static uint32_t last_irq_time_us;
uint32_t now = time_us_32();
if ((now - last_irq_time_us) < 50000) return;
if (gpio == BUTTON_UP && button_pressed(BUTTON_UP)) { /* ... */ }
}
static volatile uint32_t last_irq_time_us
Definition main.c:24
void button_callback(uint gpio, uint32_t events)
Button interrupt callback function.
Definition main.c:37

Olay Türleri

check_button_event(gpio, event) ile:

  • BUTTON_PRESSED: ilk basışta bir kez
  • BUTTON_RELEASED: bırakıldığında bir kez
  • BUTTON_HELD: >1 s basılı

Bloklu Bekleme

uint pressed = wait_for_button_press(3000);
if (pressed != UINT_MAX) {
// buton basıldı
}
uint wait_for_button_press(uint32_t timeout_ms)
Herhangi bir buton basılmasını bekle.
Definition buttons.c:180
Ayrıca Bakınız
buttons.c