📌 Timer
Timer — встроенный периферийный модуль в MCU или SoC, предназначенный для отсчёта времени, создания задержек, генерации периодических событий и управления PWM.
🧠 Как работает
Аппаратный таймер основан на счётчике, который:
- Увеличивается (или уменьшается) по сигналу от системного Clock
 - При совпадении с установленным значением вызывает Interrupts
 - Может работать в различных режимах:
- Basic: простой счёт до overflow
 - Compare Match: генерация сигнала при совпадении
 - PWM Mode: генерация PWM-сигнала
 - Capture Mode: измерение внешних сигналов
 
 
Обычно реализуется как 8-, 16- или 32-битный регистр с возможностью настройки делителя частоты (prescaler).
⚙️ Где применяется
| Область | Примеры использования | 
|---|---|
| PWM | Генерация сигнала определённой скважности | 
| Delays | Точное ожидание времени | 
| Real-Time OS | Квантование времени планировщика | 
| Event Timestamping | Отметка времени при внешних событиях | 
| Watchdog Timer | Контроль зависаний системы | 
💻 Пример (STM32 HAL, PWM)
TIM_OC_InitTypeDef sConfigOC = {0};
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 128; // duty cycle
HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);📐 Компоненты таймера
| Компонент | Назначение | 
|---|---|
| Counter | Основной счётный регистр | 
| Prescaler | Делитель входной частоты | 
| Compare Unit | Сравнение счётчика с заданным значением | 
| Auto-Reload | Значение overflow (предел счёта) | 
| Interrupt Line | Генерация прерывания | 
🧩 Связанные технологии
- 
PWM — выходной режим таймера
 - 
RTC — специализированный таймер реального времени
 - 
Interrupts — реакция на события таймера
 - 
SysTick — системный таймер в ARM Cortex-M
 
✅ Преимущества
- 
Высокая точность по сравнению с программными задержками
 - 
Аппаратная автономность (не грузит CPU)
 - 
Гибкая конфигурация: PWM, тайминг, захват, сравнение
 
❌ Недостатки
- 
Ограниченность битности (переполнение счётчика)
 - 
Требует настройки прерываний и правильного делителя
 - 
Не всегда хватает количества таймеров в MCU