diff --git a/cores/esp32/esp32-hal-ledc.c b/cores/esp32/esp32-hal-ledc.c index e755f064..5881b400 100644 --- a/cores/esp32/esp32-hal-ledc.c +++ b/cores/esp32/esp32-hal-ledc.c @@ -318,3 +318,12 @@ void ledcDetachPin(uint8_t pin) { pinMatrixOutDetach(pin, false, false); } + +double ledcChangeFrequency(uint8_t chan, double freq, uint8_t bit_num) +{ + if (chan > 15) { + return 0; + } + double res_freq = _ledcSetupTimerFreq(chan, freq, bit_num); + return res_freq; +} diff --git a/cores/esp32/esp32-hal-ledc.h b/cores/esp32/esp32-hal-ledc.h index 159f98d5..1d640b32 100644 --- a/cores/esp32/esp32-hal-ledc.h +++ b/cores/esp32/esp32-hal-ledc.h @@ -35,6 +35,7 @@ uint32_t ledcRead(uint8_t channel); double ledcReadFreq(uint8_t channel); void ledcAttachPin(uint8_t pin, uint8_t channel); void ledcDetachPin(uint8_t pin); +double ledcChangeFrequency(uint8_t channel, double freq, uint8_t resolution_bits); #ifdef __cplusplus