megaAVR_Slow_PWM
ISR-based PWM на низких частотах для megaAVR без блокирования основного кода, до 16 каналов на одном таймере
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:1f89c386f9a1483f6003c34c00608c19502fde1fbd9a13d279780efdadfc956cmegaAVR_Slow_PWM-1.2.1-1f89c386.zipОписание
На платах megaAVR (UNO WiFi Rev2, Arduino Nano Every и подобных) часто нужна ШИМ с низкой частотой и высокой точностью, но стандартные подходы либо блокируют программу, либо дают дрейф по времени. Эта библиотека решает это через ISR-based PWM — прерывания срабатывают независимо от того, что делает основной код. Поддерживает 16 каналов ШИМ одновременно, используя при этом всего один аппаратный таймер (TCB0–TCB3). Частоту и скважность можно менять на лету. PWM работает стабильно даже если другие функции зависают, что критично для задач управления устройствами, требующими точности — сервопривод, регулятор мощности, любой чувствительный к дрейфу процесс. Из ограничений: начиная с версии 1.2.0 возможны зависания при сложных вычислениях в ISR, но это решается увеличением интервала таймера в конфигурации.