ESP32: Minimales LEDC-PWM-Konfigurationsbeispiel auf PlatformIO/Arduino mit ESP-IDF LEDC API

English Deutsch

Dieses Beispiel konfiguriert den LEDC-PWM-Timer mit 10 kHz und 12-Bit-Auflösung und gibt ein PWM-Signal mit 50% Tastverhältnis auf IO14 aus. Dieser Code verwendet die ESP-IDF-API direkt, um das PWM zu konfigurieren

esp32-minimal-ledc-pwm-configuration-example.cpp
#include <Arduino.h>
#include <driver/ledc.h>

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

    ledc_timer_config_t ledc_timer = {
        .speed_mode       = LEDC_HIGH_SPEED_MODE,
        .duty_resolution  = LEDC_TIMER_12_BIT,
        .timer_num        = LEDC_TIMER_0,
        .freq_hz          = 10000,
        .clk_cfg          = LEDC_AUTO_CLK
    };
    ESP_ERROR_CHECK(ledc_timer_config(&ledc_timer));

    ledc_channel_config_t ledc_channel = {
        .gpio_num       = GPIO_NUM_14,
        .speed_mode     = LEDC_HIGH_SPEED_MODE,
        .channel        = LEDC_CHANNEL_0,
        .intr_type      = LEDC_INTR_DISABLE,
        .timer_sel      = LEDC_TIMER_0,
        .duty           = 2048, // Tastverhältnis auf 50% setzen
        .hpoint         = 0
    };
    ESP_ERROR_CHECK(ledc_channel_config(&ledc_channel));
}

void loop() {
}

Check out similar posts by category: Arduino, ESP8266/ESP32, PlatformIO