Arduino:Библиотеки/Scheduler/yield()

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция yield()[1]

Будучи вызванной, передает управление другим задачам. В идеале yield() нужно ставить в функции, которым на выполнение требуется некоторое время.

Синтаксис

yield()

Параметры

Нет.

Что возвращает

Ничего.

Пример

#include <Scheduler.h>

int counter = 0;
int counter1 = 0;

void setup()
{
  Serial.begin(9600);

  Scheduler.startLoop(loop1);
}

void loop () {
 analogWrite(9, counter);
 counter++;
 if (counter > 255){
  counter = 0;
 }
 delay(33);
}

void loop1 () {
 if (Serial.available()) {
    char c = Serial.read();
    if (c=='0') {
      digitalWrite(2, LOW);
      Serial.println("Led turned off!");  //  "Светодиод выключен!"
    }
    if (c=='1') {
      digitalWrite(2, HIGH);
      Serial.println("Led turned on!");  //  "Светодиод включен!"
    }
  }
 yield();
}

См.также

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