Arduino:Примеры/FlashLedFlexiTimer2

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

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


Периодическое включение и выключение светодиода (для FlexiTimer2)[1]

Это скетч для библиотеки FlexiTimer2 (разновидность MsTimer2, позволяющая настраивать разрешение) и платы Arduino, который демонстрирует, как периодически включать и выключать светодиод на Arduino. Интервал – 0,5 секунды.

Код

/*

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

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

О библиотеке MsTimer2 читайте тут:
http://www.arduino.cc/playground/Main/MsTimer2
О библиотеке FlexiTimer2 читайте тут:
http://www.arduino.cc/playground/Main/FlexiTimer2

*/

#include <FlexiTimer2.h>

// включаем/выключаем светодиод каждые 0,5 секунды:

#if ARDUINO >= 100
const int led_pin = LED_BUILTIN;	  // переменная для контакта, 
	                             // подключенного к встроенному 
	                             // светодиоду 
#else
const int led_pin = 13;           // по умолчанию контактом для 
                                  // светодиода является 13-ый контакт
#endif

void flash()
{
static boolean output = HIGH;
  
  digitalWrite(led_pin, output);
  output = !output;
}

void setup()
{
  pinMode(led_pin, OUTPUT);

  FlexiTimer2::set(500, 1.0/1000, flash); // вызываем эту функцию каждые 500 миллисекунд
  // FlexiTimer2::set(500, flash); // также поддерживается формат библиотеки MsTimer2
  FlexiTimer2::start();
}

void loop()
{
}

См.также

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