Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
if( !( millis() % 200 ) )digitalWrite( 13, !digitalRead( 13 ) );
if( !( millis() % 200 ) ){ digitalWrite( 13, !digitalRead( 13 ) ); }
Использовать прерывания в ESP следует осторожно, так как очень часто это вызывает срабатывание злобного сторожевого таймера WDT, который считает, что на обработку встроенных WiFi функций выделяется слишком мало времени.В NodeMCU это решается вызовом в длинном цикле tmr.wdclr(), который сбрасывает watchdog- счетчик. Но тут нужно быть уверенным, что цикл не станет бесконечным ни при каких условиях.
ну почти ничего, прерывания он все таки обрабатывает
void delay(unsigned long ms)
{
uint16_t start = (uint16_t)micros();
while (ms > 0) {
yield();
if (((uint16_t)micros() - start) >= 1000) {
ms--;
start += 1000;
}
}
}
Умное мигание светодиодом в Ардуино