Микроконтроллер ESP32-C3, установленный на платы быстрой разработки NodeMCU ESP-C3-13 Kit (ESP-C3-32S Kit), поддерживает 6 каналов ШИМ (широтно-импульсная модуляция).
Каналы ШИМ, по английски PWM (Pulse-width modulation), в документации к библиотекам ESP32 называют LEDC каналами (LED control). LEDC - устройство управления светодиодами, оно же ШИМ, может управлять многими другими устройствами.
ledcSetup функция используется для настройки частоты и разрешения канала LEDC:
- channel номер канала LEDC, выбранного для настройки (0 - 5),
- freq частота ШИМ генератора,
- resolution_bits разрешение таймера-счётчика для канала ledc, диапазон 1-12 бит.
Если эта функция возвращает 0, возникла ошибка, и канал ledc не был настроен.
ledcAttachPin функция используется для подключения IO вывода к каналу LEDC:
- pin номер IO вывода GPIO,
- chan номер канала LEDC (0 - 5).
ledcWrite функция используется для установки режима работы канала LEDC:
- chan номер канала LEDC для записи.
- duty скважность сигнала для выбранного канала (в пределах установленного разрешения таймера-счётчика).
Ниже следующая программа плавно меняет яркость зелёного светодиода на плате NodeMCU ESP-C3-13 Kit (ESP-C3-32S Kit).
Лист. 1. Программа Fading для NodeMCU ESP-C3-13 Kit (ESP-C3-32S Kit)
Литература:
https://docs.espressif.com/projects/arduino-esp32/en/latest/api/ledc.html