ESP 32 изменение частоты вместо рабочего цикла
Использование этого кода на esp32 позволяет изменять рабочий цикл ШИМ с фиксированной частотой 5000 Гц и работает нормально.
Мой вопрос в том, как изменить частоту и сохранить рабочий цикл на фиксированном значении?
// the number of the LED pin
const int ledPin = 16; // 16 corresponds to GPIO16
// setting PWM properties
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 8;
void setup(){
// configure LED PWM functionalitites
ledcSetup(ledChannel, freq, resolution);
// attach the channel to the GPIO to be controlled
ledcAttachPin(ledPin, ledChannel);
}
void loop(){
// increase the LED brightness
for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){
// changing the LED brightness with PWM
ledcWrite(ledChannel, dutyCycle);
delay(15);
}
// decrease the LED brightness
for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){
// changing the LED brightness with PWM
ledcWrite(ledChannel, dutyCycle);
delay(15);
}
}
Спасибо
@lucian_v, 👍1
Обсуждение1 ответ
Если вы хотите изменить частоту ШИМ во время выполнения, для этой цели существует функция ledc_set_freq (). Я не уверен, что ваш рабочий цикл останется в силе, но я думаю, что это так до тех пор, пока разрешение не изменится. Вам придется попробовать это самостоятельно и в конечном итоге получить компенсацию.
Я попытался использовать ledc_set_freq, но проблема в том, что если сделать это очень быстро, то он больше не устанавливается. Если я сделаю это на обычном arduino, используя библиотеку pwm, я могу менять частоту контактов каждые 50 мс, и все в порядке., @lucian_v
- Установите частоту ШИМ на 25 кГц.
- Как настроить PWM-сигнал 25 кГц на ESP-WROOM-32?
- Генерировать 1,7 МГц с PWM в Uno?
- Можно ли сгенерировать точный тактовый импульс 15 кГц с помощью ардуино?
- Изменение ШИМ на Arduino Mega, контакты 9 и 10 на 20–25 кГц
- Сдвиг уровня ШИМ от 3,3 В до 5 В
- Проблема с настройкой частоты ШИМ для Arduino Due
- Изменение частоты вывода ШИМ на Arduino Uno
Хм. Правильно, извини, @Eugene Sh.
Используйте
ledcWriteTone
?, @Eugene Sh.Зачем снимать баллы с вопроса? изменение частоты будет полезно, например, если вы работаете с шаговым двигателем., @Tono Nam