Etkileşimli STM32 Event Groups ve Software Timers

İçindekiler

Etkileşimli STM32 Event Groups ve Software Timers#

STM32 / Ders 13

Bu laboratuvar, `Event Groups` ve `Software Timers` kavramlarini yalnizca API isimleri olarak degil; birden fazla sinyalin ayni gorevi nasil uyandirdigi, `ANY` ile `ALL` bekleme arasindaki farkin ne oldugu ve `clear-on-exit` seciminin neden kritik hale gelebildigi somut bir RTOS koordinasyon problemi olarak gorunur kilar. Hedef, `xEventGroupWaitBits` ile `xTimer` callback mantigini ayni zaman cizelgesinde sezgisel hale getirmektir.

Ne Yap Bekleme modunu, `clear-on-exit` secimini, timer periyodunu ve sinyal zamanlarini degistir; ardindan latched bitlerin ve timer callback'lerinin gorevi nasil uyandirdigini izle.
Ne Ogren `ANY` ve `ALL` bekleme, `clear-on-exit`, event bit'lerin latch davranisi ve software timer callback'inin neden agir isi degil sadece sinyal yaymayi ustlenmesi gerektigini gor.
Gorev Once temiz bir senaryo kur ve gorevin sadece yeni sinyallerde uyanmasini sagla. Sonra `clear-on-exit` secimini kapatip neden stale retrigger olustugunu kendi gozunle gor.
Event Groups, bir yigin daginik flag'i toparlar; ama yanlis `wait bits` veya `clear-on-exit` secimi gorevin gereksiz yere tekrar tekrar kosmasina yol acabilir. Software timer callback'i de bu koordinasyonun tetikleyicisi olmali; butun isi callback icine yigmak degil.

Bu Derste Ne Oturmali?#

  1. Event Groups, bir gorevin birden fazla olay bitine gore ANY ya da ALL mantigiyla bloke olmasini saglar; bu, daginik global flag okumaktan cok daha okunabilir bir desen olabilir.

  2. clear-on-exit, dogru kullanildiginda ayni bitlerin gereksiz yere tekrar tetiklemesini engeller; kapali oldugunda ise stale retrigger davranisi kolayca ortaya cikabilir.

  3. Software timer, agir isi callback icinde yapmak icin degil; gorevlere dogru anda hafif bir sinyal vermek icin degerlidir.

  4. Dogru desen sadece xEventGroupWaitBits kullanmak degil; hangi bitlerin beklenecegini, ne zaman temizlenecegini ve timer callback’inin nasil hafif tutulacagini birlikte dusunmektir.

Not

Bu laboratuvarin sonraki dogal adimi CAN ve mesaj filtreleme olur; onun ardindan watchdog + fault recovery, USB CDC + ring buffer ya da stream buffer / message buffer gelebilir.