Библиотеки TimerOne и TimerThree для Arduino

Всем привет! Сегодня поговорим о таких малопопулярных в среде ардуинщиков библиотеках, как TimerOne и TimerThree, а также разберемся для чего они нужны и как их использовать. Поехали!

Скачать библиотеки можно по данным ссылкам: TimerOne, TimerThree

А теперь начнем непосредственное знакомство с ними.

И начнем мы с такого понятия, как таймеры-счетчики. Эти таймеры служат для отсчета или подсчета необходимых данных, например,  считывают время до определенного момента. Если мы берем Arduino, то во встроенном в нее микроконтроллере Atmega есть три таких таймера.  Их использование дает большое выигрыш в энергоэффективности, не давая простаивать мощностям контроллера по секунде или на полсекунды. Как правило,  с их помощью можно настроить период или частоту ШИМ сигнала с выводов Ардуино.

Одним из таких таймеров является 16-ти разрядный таймер. Он выглядит так, как на картинке ниже:


Для правильного использования функционала библиотек обратимся к методам данных библиотек. Разберем функции, которые работают через таймеры и рассмотрим значение каждой из них:







Вдобавок к ним есть еще одна полезная функция

unsigned long read();

Считывает время с момента последнего переполнения в микросекундах.

Давайте теперь рассмотрим несколько скетчей с этими библиотеками.
Например, в приведенном ниже коде задается сигнал на выводе 9,  с коэффициентом заполнения в 50% ( смотри void setup ), а состояние вывода 10 меняется каждые 0,5 секунды. Время в функциях от данной библиотеки прописывается в микросекундах, а не в миллисекундах, как мы с вами привыкли.


Или можем рассмотреть еще один пример. Здесь прерывание таймера используется для выполнения стандартной программы blink, то есть для мигания светодиода.


На этом по библиотекам для таймера Arduino у меня все! Желаю всем удачной компиляции и до новых встреч на просторах интернет-магазина smartmodules.ru

1231

Комментарии