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

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

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


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

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

Синтаксис

yield()

Параметры

Нет.

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

Ничего.

Пример

 1 #include <Scheduler.h>
 2 
 3 int counter = 0;
 4 int counter1 = 0;
 5 
 6 void setup()
 7 {
 8   Serial.begin(9600);
 9 
10   Scheduler.startLoop(loop1);
11 }
12 
13 void loop () {
14  analogWrite(9, counter);
15  counter++;
16  if (counter > 255){
17   counter = 0;
18  }
19  delay(33);
20 }
21 
22 void loop1 () {
23  if (Serial.available()) {
24     char c = Serial.read();
25     if (c=='0') {
26       digitalWrite(2, LOW);
27       Serial.println("Led turned off!");  //  "Светодиод выключен!"
28     }
29     if (c=='1') {
30       digitalWrite(2, HIGH);
31       Serial.println("Led turned on!");  //  "Светодиод включен!"
32     }
33   }
34  yield();
35 }

См.также

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