Arduino:Примеры/Мигаем светодиодом с помощью прерывания по таймеру: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 2: Строка 2:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=Мигаем светодиодом с помощью прерывания по таймеру=  
=Мигаем светодиодом с помощью прерывания по таймеру=  
Строка 20: Строка 20:
==Код==
==Код==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
#include <TimerOne.h>                  // Подключаем библиотеку TimerOne
#include <TimerOne.h>                  // Подключаем библиотеку TimerOne
#define LED 13                          // Определяем контакт, к которому подключен светодиод на плате
#define LED 13                          // Определяем контакт, к которому подключен светодиод на плате
Строка 50: Строка 50:


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Пример]]
[[Категория:Пример]]
[[Категория:Примеры]]
[[Категория:Примеры]]
[[Категория:Пример программирования Arduino]]
[[Категория:Пример программирования Arduino]]
[[Категория:Примеры программирования Arduino]]
[[Категория:Примеры программирования Arduino]]

Текущая версия от 12:41, 8 июля 2023

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



Мигаем светодиодом с помощью прерывания по таймеру

Данный пример демонстрирует как с помощью прерывания по таймеру, с использованием библиотеки TimerOne мигать светодиодом.

Необходимые компоненты

Монтажная схема

Для данного примера нужна только плата Arduino Uno.

Код

#include <TimerOne.h>                   // Подключаем библиотеку TimerOne
#define LED 13                          // Определяем контакт, к которому подключен светодиод на плате
 
void setup() 
{
  pinMode(LED, OUTPUT);  
  Timer1.initialize(1000000);           // Прерывание по таймеру будет срабатывать каждые 1000000 мкс = 1 сек.
  Timer1.attachInterrupt(blinky);       // Указываем функцию blinky() как обработчик прерывания по таймеру
}
 
void loop()
{
  // Здесь можно вставить код, который будет выполняться в цикле
}
 
/*
* Функция обработчик прерывания по таймеру
*/
void blinky()
{
  digitalWrite(LED, !digitalRead(LED)); // Переключаем состояние светодиода
}

См.также

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