Leksykon IT › Programowanie › Timer programowy

Timer programowy

Programowanie Svenska → Zaktualizowano: 2026-11-03

Timer wyprowadzany przez jądro RTOS z taktu systemowego, a nie z osobnego rejestru sprzętowego, więc można ich mieć tyle, na ile starczy pamięci.

Mikrokontroler ma może cztery lub osiem timerów sprzętowych, a większość z nich jest już zajęta przez PWM, próbkowanie ADC i samo przerwanie taktu. Timery programowe omijają ten niedobór: trzymają posortowaną listę czasów wygaśnięcia i porównują ją z licznikiem taktów. Gdy któryś wygasa, uruchamiany jest callback – jednorazowo (one-shot) lub cyklicznie (auto-reload).

W FreeRTOS każdy callback działa w jednym dedykowanym zadaniu, zadaniu usługi timerów, zasilanym przez kolejkę poleceń. Dzięki temu timery można bezpiecznie startować z przerwań, ale jest haczyk: jeden blokujący callback zatrzymuje wszystkie pozostałe timery w systemie. Rozdzielczość nigdy nie jest też lepsza niż jeden takt, więc wszystko, co wymaga mikrosekund, wraca do sprzętu.

← Wróć do leksykonu