Для начинающих -Как не надо использовать millis

b707
Offline
Зарегистрирован: 26.05.2017

Просматривая форум, наткнулся на великолепный образцик попытки построения цикла без delay(). Вместо delay афтар использует замечательную функцию собственного(?) сочинения


void doPause(unsigned int pause_)
{
 unsigned long pause = millis(); 
 if (millis () < pause) pause = millis();
      while (millis () - pause < pause_)
       {}
      pause = millis();
}

Так вот, всем, кто еще не понял - функция абсолютно бесполезна, так как полностью аналогична по смыслу системной функции delay - точно так же тормозит процессор на заданное время, не давая ему выполнять полезные задачи, только в отличии от делай еще и занимает место в памяти.

Смысл использования конструкций с millis - не в том, чтобы просто заменить delay другой функцией, а в том, чтобы не тормозить программу на время паузы, а позволять ей в это время выполнять другие задачи. Используя delay (или вышеприведенный код) - вы никогда не сможете добится, чтобы программа быстро и своевременно реагировала на внешние сигналы, например на нажатие кнопки. (кстати, автор данной функции жалуется, что "все хорошо, но вот что-то кнопки тормозят" :)

 

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

нужно переименовать в "как не нужно использовать циклы" - многие используют циклы для ожидания событий.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Предлагаю еще ряд злободневных тем:

- Как не надо использовать Serial.

- Как не надо использовать pinMode.

- Как не надо использовать map.

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

andriano пишет:

Предлагаю еще ряд злободневных тем:

- Как не надо использовать Serial.

- Как не надо использовать pinMode.

- Как не надо использовать map.

 

+ Как не надо использовать Ардуину.

DIVGENY
Offline
Зарегистрирован: 23.08.2016

Я вот прямо сейчас на вас всех обижусь и буду снова свои хотелки на 155 логике собирать, как 40 лет назад...

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

DIVGENY пишет:

Я вот прямо сейчас на вас всех обижусь и буду снова свои хотелки на 155 логике собирать, как 40 лет назад...

ты сцуко ужасен во гневе

Barny
Offline
Зарегистрирован: 23.01.2015

КА155ЛА3 ыыыы.... Аж слюнки потекли.