# Etkileşimli STM32 GPIO Laboratuvarı

<div class="mlv-demo-links">
  <a class="mlv-demo-link" href="index.html">STM32 Rotası</a>
  <a class="mlv-demo-link active" href="interactive_gpio_lab.html">GPIO Laboratuvarı</a>
  <a class="mlv-demo-link secondary" href="../_static/demos/stm32-gpio-lab.html">Tam Ekran Demo</a>
</div>

<div class="mlv-demo-hero">
  <div class="mlv-demo-kicker">STM32 / Ders 1</div>
  <p class="mlv-demo-lead">Bu laboratuvar, STM32 tarafında en kritik başlangıç sezgisini kurar: bir pinin ne işe yaradığı sadece lehimle değil, yazılımdaki modu ile belirlenir. LED'i sürmek, butonu okumak ve active-low mantığını doğru yorumlamak burada aynı ekranda buluşur.</p>
</div>

<div class="mlv-demo-grid">
  <div class="mlv-demo-panel">
    <strong>Ne Yap</strong>
    <span>PA5 ve PC13 için mod seç, butona bas, hazır hata senaryolarını yükle ve sistemin ne okuduğunu izle.</span>
  </div>
  <div class="mlv-demo-panel">
    <strong>Ne Öğren</strong>
    <span>Output, input, pull-up ve floating giriş farkını; ayrıca karttaki butonun neden çoğu örnekte active-low okunduğunu sezgisel olarak kavra.</span>
  </div>
  <div class="mlv-demo-panel">
    <strong>Görev</strong>
    <span>Doğru konfigürasyonu kurup butona her basışta LED'in toggle olmasını sağla. Sonra aynı devreyi bilerek bozup hatayı teşhis et.</span>
  </div>
</div>

<div class="mlv-demo-note">
Bu demo gerçek donanım yerine kavramsal bir laboratuvar sunar. Amaç ezber kod değil, "neden çalıştı?" ve "neden bozuldu?" sorularını görünür kılmaktır.
</div>

<iframe
  class="mlv-demo-frame"
  src="../_static/demos/stm32-gpio-lab.html"
  title="STM32 GPIO Laboratuvarı"
  loading="lazy"
  frameborder="0"
></iframe>

## Bu Derste Ne Oturmalı?

1. `PA5` gibi bir LED pinini sürmek için pinin `output` olması gerekir.
2. `PC13` gibi bir buton hattı giriş olarak okunur; `pull-up` çoğu örnekte boşta kalan hattı sabitler.
3. Active-low düzende butona basınca `GPIO_PIN_RESET` okunabilir; bu hata değil, devre tercihidir.
4. `floating input`, başlangıç düzeyinde en sık görülen "bazen çalışıyor gibi" hataların başında gelir.

```{note}
Bir sonraki doğal genişleme, bu yapıya `clock tree`, `timer/PWM` ve `UART terminal` laboratuvarları eklemektir.
```
