Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Библиотеки/FlexiTimer2

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Библиотека FlexiTimer2[1]

Это библиотека, позволяющая использовать timer2 на Arduino. Она называется FlexiTimer2, потому что основана на библиотеке MsTimer2, но дает больше гибкости (от англ. «flexibility»), т.к. позволяет настраивать разрешение таймера.

Работает с:

  • ATmega1280 – благодаря Мануэлю Негри (Manuel Negri)
  • ATmega328 – благодаря Джероме Даспатису (Jerome Daspatis)
  • ATmega48/88/168 и ATmega128/8
  • ATmega2560
  • Teensy

Изначально написана Вимом Лирсом (Wim Leers) для проекта к курсу «Мобильные и всепроникающие вычисления» в Хасселтском университете (Бельгия). Лицензия – LGPL.

Функции

  • Функция FlexiTimer2::set(units, resolution, (*f)()) задает нужный временной интервал. Аргумент units – это, собственно, интервал, а resolution – это его разрешение. При завершении интервала будет вызвана «f». Ее нужно вызывать пустой, безо всяких аргументов. К примеру, если в первом аргументе указать «1», а во втором «1.0/3000», то «f» будет вызываться 3000 раз в секунду, а если в первом аргументе указать «2», то только 1500 раз в секунду.
  • Функция FlexiTimer2::set(ms, void (*f)()) задает нужный временной интервал в миллисекундах (1/1000 секунды). При завершении интервала будет вызвана «f». Ее нужно вызывать пустой, безо всяких аргументов. Это короткая версия функции выше с разрешением, по умолчанию выставленным на «0,001».
  • Функция FlexiTimer2::start() включает прерывание.
  • Функция FlexiTimer2::stop() выключает прерывание.

Загрузка

Чтобы загрузить библиотеку, пройдите по этой ссылке, кликните на зеленую кнопку Clone or download, а затем на Download ZIP. Когда ZIP-файл скачается, распакуйте его. Проверьте эту папку на наличие файлов «FlexiTimer2.cpp» и «FlexiTimer2.h».

Установка

Чтобы использовать библиотеку, поместите распакованный ZIP-файл в папку для библиотек IDE Arduino. Чтобы узнать, где находится эта папка на PC, откройте IDE Arduino, кликните на Файл > Настройки (File > Preferences) – адрес папки будет указан в самом верху, в поле «Размещение папки скетчей» (Sketchbook location). Затем перезапустите IDE Arduino. Если папки «libraries» нет, ее нужно создать.

Баги

О найденных ошибках сообщайте сюда.

Примеры

  • FlashLedFlexiTimer2 - Периодическое включение и выключение светодиода (для FlexiTimer2)

См.также

Внешние ссылки

  1. playground.arduino.cc - FlexiTimer2