# Etkileşimli STM32 Tickless Idle ve RTC Uyanisi

<div class="mlv-demo-links">
  <a class="mlv-demo-link" href="index.html">STM32 Rotasi</a>
  <a class="mlv-demo-link" href="interactive_gpio_lab.html">GPIO Laboratuvari</a>
  <a class="mlv-demo-link" href="interactive_clock_timer_lab.html">Clock ve Timer</a>
  <a class="mlv-demo-link" href="interactive_uart_lab.html">UART ve Terminal</a>
  <a class="mlv-demo-link" href="interactive_pwm_lab.html">PWM Laboratuvari</a>
  <a class="mlv-demo-link" href="interactive_adc_lab.html">ADC ve Sensorler</a>
  <a class="mlv-demo-link" href="interactive_i2c_lab.html">I2C ve Sensorler</a>
  <a class="mlv-demo-link" href="interactive_interrupt_dma_lab.html">Interrupt ve DMA</a>
  <a class="mlv-demo-link" href="interactive_spi_lab.html">SPI ve Cevre Birimleri</a>
  <a class="mlv-demo-link" href="interactive_freertos_lab.html">FreeRTOS ve Gorevler</a>
  <a class="mlv-demo-link" href="interactive_low_power_lab.html">Low Power ve Uyku</a>
  <a class="mlv-demo-link" href="interactive_mutex_priority_lab.html">Mutex ve PI</a>
  <a class="mlv-demo-link active" href="interactive_tickless_idle_lab.html">Tickless Idle</a>
  <a class="mlv-demo-link" href="interactive_event_groups_lab.html">Event Groups</a>
  <a class="mlv-demo-link" href="interactive_can_filter_lab.html">CAN</a>
  <a class="mlv-demo-link" href="interactive_watchdog_fault_lab.html">Watchdog</a>
  <a class="mlv-demo-link" href="interactive_usb_cdc_ring_lab.html">USB CDC</a>
  <a class="mlv-demo-link secondary" href="../_static/demos/stm32-tickless-idle-lab.html">Tam Ekran Demo</a>
</div>

<div class="mlv-demo-hero">
  <div class="mlv-demo-kicker">STM32 / Ders 12</div>
  <p class="mlv-demo-lead">Bu laboratuvar, `tickless idle` fikrini yalnizca bir FreeRTOS ayari olarak degil; gereksiz `SysTick` uyanmalarini bastiran, enerji profilini degistiren ve bazen de wake-up kaynagi secimini kritik hale getiren somut bir scheduler karari olarak gorunur kilar. Hedef, `periodic tick`, `tickless sleep` ve `RTC ile derin uyku` arasindaki takasi ayni zaman cizelgesi uzerinden sezgisel hale getirmektir.</p>
</div>

<div class="mlv-demo-grid">
  <div class="mlv-demo-panel">
    <strong>Ne Yap</strong>
    <span>Calisma profilini, scheduler stratejisini, periyodik gorev araligini, aktif is suresini ve asenkron olay zamanini degistir; ardindan bos tikler, wake-up sayisi ve ortalama akim arasindaki farki izle.</span>
  </div>
  <div class="mlv-demo-panel">
    <strong>Ne Ogren</strong>
    <span>`tick suppression`, `RTC wake-up`, `resume latency`, `Sleep` ile `Stop` farki ve "her wake source derin uykudan geri doner mi?" sorusunun neden ayni karar zinciri oldugunu gor.</span>
  </div>
  <div class="mlv-demo-panel">
    <strong>Gorev</strong>
    <span>Once sensor dugumu icin en dusuk akimli secimi bul. Sonra ayni mantigi bir `UART listener` profilinde dene ve neden derin uykuda her zaman calismadigini karsilastir.</span>
  </div>
</div>

<div class="mlv-demo-note">
Tickless idle sihirli bir "bedava enerji" ozelligi degildir. Kazanc, bastirilan bos tiklerden gelir; bedel ise genellikle wake-up tasarimi, resume gecikmesi ve uygun wake source secimidir.
</div>

<iframe
  class="mlv-demo-frame"
  src="../_static/demos/stm32-tickless-idle-lab.html"
  title="STM32 Tickless Idle ve RTC Uyanisi"
  loading="lazy"
  frameborder="0"
></iframe>

## Bu Derste Ne Oturmali?

1. `Tickless idle`, scheduler'in bos zamanlarda her tikte uyanmasi yerine bir sonraki anlamli olaya kadar daha uzun uyumasina yardim eder.
2. `RTC wake-up`, derin uykudan geri donup bir sonraki periyodik gorevi zamanlamak icin guclu bir arac olabilir; ama her asenkron olay bu moddan geri donemez.
3. `Sleep` daha yuksek akim ama daha dusuk resume maliyeti verir; `Stop + RTC` daha agresif tasarruf saglayabilir, fakat wake source ve gecikme riskini artirir.
4. Dogru secim "en derin uyku" degil; uygulamanin olay profiline, tepki suresine ve destekledigi wake-up kaynagina uyan kombinasyondur.

```{note}
Bu laboratuvarin sonraki dogal adimi `event groups + software timers` olur; onun ardindan `CAN filtreleme`, `tick hook / idle hook`, `USB CDC` ya da `RTOS + DMA + low power` entegrasyonu gelebilir.
```
