Что-то я совсем торможу.
Простая задача - плавное включение/выключение света. На ESP8266 никаких проблем. ШИМом управляется яркость двенадцативольтовой светодиодной ленты.
Год работает.
При переходе на ESP32 ...
Задана функция
void
pwn_wr(){ //функция записи ШИМ
while(w <= wmax && w >= 0) {
analogWrite(PW,w);
w = w + fade;
delay(5);
}
vTaskDelete( NULL );//Завершаем таск
}
В основной части программы по условию (например изменение состояния выключателя) задаем начальные значение w и fade (1 или -1) и создаем таск
xTaskCreate(&pwn_wr, "pwn_wr", 5048, NULL, 5, NULL);
Затухание должно быть 0,005сек*4096=20сек
В реальности свет включается практически мгновенно при любом delay от 1 до 9
Если delay(10), то все нормально, но затухание 40 сек это не комильфо
Понятно, что могу сделать fade побольше, но тогда где плавность и нафиг этот супер ESP32