ESP32 (ядро 2.0.17): ошибка в мониторе порта "LEDC is not initialized"...

SoftFelix

★✩✩✩✩✩✩
16 Фев 2020
65
21
Всем привет.

Код настройки 4х каналов PWM для управления 4-мя светодиодами.

C++:
// настройки PWM
#define PWM_freq 1000           // в Герцах
#define PWM_resolution 8        // разряды (0...255)
#define PWM_ledChannel_LCD 0    // для каждого светодиода свой канал PWM
#define PWM_ledChannel_LED_R 1  // для каждого светодиода свой канал PWM
#define PWM_ledChannel_LED_G 2  // для каждого светодиода свой канал PWM
#define PWM_ledChannel_LED_B 3  // для каждого светодиода свой канал PWM
// --------- управление яркостью END -----------------------

void setup() {
  Serial.begin(115200);
  while (!Serial);

  // --------- управление яркостью START ------------
  ledcSetup(PWM_ledChannel_LCD, PWM_freq, PWM_resolution);  // настроили PWM для LCD
  ledcAttachPin(BACKLIGHT, PWM_ledChannel_LCD);             // настроили ногу контроллера для PWM, яркость LCD

  ledcSetup(PWM_ledChannel_LED_R, PWM_freq, PWM_resolution);  // настроили PWM для LED_R
  ledcAttachPin(LED_R, PWM_ledChannel_LED_R);                 // настроили ногу контроллера для PWM, яркость LED_R

  ledcSetup(PWM_ledChannel_LED_G, PWM_freq, PWM_resolution);  // настроили PWM для LED_G
  ledcAttachPin(LED_G, PWM_ledChannel_LED_G);                 // настроили ногу контроллера для PWM, яркость LED_G

  ledcSetup(PWM_ledChannel_LED_B, PWM_freq, PWM_resolution);  // настроили PWM для RED_B
  ledcAttachPin(LED_B, PWM_ledChannel_LED_B);                 // настроили ногу контроллера для PWM, яркость LED_B
  // --------- управление яркостью END --------------
}
При старте в монитор порта выдаётся 4 ошибки.

C++:
1:42:48.196 -> E (61) ledc: ledc_set_duty(725): LEDC is not initialized
11:42:48.196 -> E (61) ledc: ledc_update_duty(653): LEDC is not initialized
11:42:48.196 -> E (61) ledc: ledc_set_duty(725): LEDC is not initialized
11:42:48.196 -> E (65) ledc: ledc_update_duty(653): LEDC is not initialized
11:42:48.196 -> E (71) ledc: ledc_set_duty(725): LEDC is not initialized
11:42:48.196 -> E (76) ledc: ledc_update_duty(653): LEDC is not initialized
Так-то оно потом работает, вот только бы разобраться, что это за "LEDC is not initialized".
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
603
178
Желательно показывать короткий компилируемый код демонстрирующий вашу проблему.
Иначе возникают вопросы - например - у вас с пустым loop выводится сообщение об ошибке?
И подозрительно, что при 8 битном duty, значения в сообщениях об ошибках больше 255
 

SoftFelix

★✩✩✩✩✩✩
16 Фев 2020
65
21
Желательно показывать короткий компилируемый код демонстрирующий вашу проблему.
Иначе возникают вопросы - например - у вас с пустым loop выводится сообщение об ошибке?
То что крутится в лупе, ошибок не вызывает. Эти мессаги об ошибках генерятся исключительно на том коде, который выше в сетапе.
И подозрительно, что при 8 битном duty, значения в сообщениях об ошибках больше 255
Вот на это я тоже обратил внимание.