From 86ffd82ffe7e168841b9a7f02ac375a496018786 Mon Sep 17 00:00:00 2001 From: jarvis Date: Fri, 7 Mar 2025 16:26:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EPWM=E8=B0=83=E5=85=89?= =?UTF-8?q?=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 5 ++- SquareLineProj/ESP32S3_UI.sll | 2 +- SquareLineProj/ESP32S3_UI.spj | 4 +- SquareLineProj/backup/ESP32S3_UI_backup01.zip | Bin 33832 -> 34098 bytes components/FluxUI/ui_events.c | 14 +++++-- main/i80_controller_example_main.c | 39 ++++++++++++++++++ 6 files changed, 56 insertions(+), 8 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index a0f0b46..f421afc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,5 +13,8 @@ "board/esp32s3-builtin.cfg" ], "idf.portWin": "COM6", - "idf.flashType": "UART" + "idf.flashType": "UART", + "files.associations": { + "ledc.h": "c" + } } diff --git a/SquareLineProj/ESP32S3_UI.sll b/SquareLineProj/ESP32S3_UI.sll index 0565e86..ea7c710 100644 --- a/SquareLineProj/ESP32S3_UI.sll +++ b/SquareLineProj/ESP32S3_UI.sll @@ -25,7 +25,7 @@ "uiExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", "projectExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", "custom_variable_prefix": "uic", - "backup_cnt": 220, + "backup_cnt": 221, "autosave_cnt": 0, "group_color_cnt": 0, "lvgl_version": "8.3.6", diff --git a/SquareLineProj/ESP32S3_UI.spj b/SquareLineProj/ESP32S3_UI.spj index 74f6c1d..6443d92 100644 --- a/SquareLineProj/ESP32S3_UI.spj +++ b/SquareLineProj/ESP32S3_UI.spj @@ -7306,7 +7306,7 @@ "strtype": "SLIDER/Range", "intarray": [ 0, - 100 + 8192 ], "InheritedType": 7 }, @@ -16317,7 +16317,7 @@ "uiExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", "projectExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", "custom_variable_prefix": "uic", - "backup_cnt": 219, + "backup_cnt": 220, "autosave_cnt": 0, "group_color_cnt": 0, "lvgl_version": "8.3.6", diff --git a/SquareLineProj/backup/ESP32S3_UI_backup01.zip b/SquareLineProj/backup/ESP32S3_UI_backup01.zip index ee30fd2c9c2c2f12a4e29331d903de584fd8415c..776c232979091bd3b1558ecb51a68aefcaeee404 100644 GIT binary patch delta 31421 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 diff --git a/components/FluxUI/ui_events.c b/components/FluxUI/ui_events.c index 810dc05..2974d30 100644 --- a/components/FluxUI/ui_events.c +++ b/components/FluxUI/ui_events.c @@ -4,6 +4,9 @@ // Project name: ESP32S3_UI #include "ui.h" +#include "driver/ledc.h" +#include "esp_err.h" +#include "esp_log.h" void ReadSdCallFunc(lv_event_t * e) { @@ -29,9 +32,12 @@ void F3callbackFunc(lv_event_t * e) void lightSliderCallback(lv_event_t * e) { // Your code here - - lv_obj_t * slider = lv_event_get_target(e); - - lv_slider_get_value(slider); + uint32_t value = lv_slider_get_value(e->target); + //ESP_LOGI("lightSliderCallback", "value = %u", value); + printf("value = %lu\n", value); + // Set duty to 50% + ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, value)); + // Update duty to apply the new value + ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0)); } diff --git a/main/i80_controller_example_main.c b/main/i80_controller_example_main.c index a7448db..56880ab 100644 --- a/main/i80_controller_example_main.c +++ b/main/i80_controller_example_main.c @@ -16,6 +16,7 @@ #include "esp_lcd_panel_ops.h" #include "esp_spiffs.h" #include "driver/gpio.h" +#include "driver/ledc.h" #include "lvgl.h" /*导入Modbus控制头文件*/ @@ -87,6 +88,41 @@ static SemaphoreHandle_t lvgl_mux = NULL; extern void example_lvgl_demo_ui(lv_disp_t *disp); +/*利用 PWM进行背光亮度调节*/ +#define LEDC_TIMER LEDC_TIMER_0 +#define LEDC_MODE LEDC_LOW_SPEED_MODE +#define LEDC_OUTPUT_IO (EXAMPLE_PIN_NUM_BK_LIGHT) // Define the output GPIO +#define LEDC_CHANNEL LEDC_CHANNEL_0 +#define LEDC_DUTY_RES LEDC_TIMER_13_BIT // Set duty resolution to 13 bits +#define LEDC_DUTY (4096) // Set duty to 50%. (2 ** 13) * 50% = 4096 +#define LEDC_FREQUENCY (4000) // Frequency in Hertz. Set frequency at 4 kHz + +static void example_ledc_init(void) +{ + // Prepare and then apply the LEDC PWM timer configuration + ledc_timer_config_t ledc_timer = { + .speed_mode = LEDC_MODE, + .duty_resolution = LEDC_DUTY_RES, + .timer_num = LEDC_TIMER, + .freq_hz = LEDC_FREQUENCY, // Set output frequency at 4 kHz + .clk_cfg = LEDC_AUTO_CLK + }; + ESP_ERROR_CHECK(ledc_timer_config(&ledc_timer)); + + // Prepare and then apply the LEDC PWM channel configuration + ledc_channel_config_t ledc_channel = { + .speed_mode = LEDC_MODE, + .channel = LEDC_CHANNEL, + .timer_sel = LEDC_TIMER, + .intr_type = LEDC_INTR_DISABLE, + .gpio_num = LEDC_OUTPUT_IO, + .duty = 0, // Set duty to 0% + .hpoint = 0 + }; + ESP_ERROR_CHECK(ledc_channel_config(&ledc_channel)); +} + + static bool example_notify_lvgl_flush_ready(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_io_event_data_t *edata, void *user_ctx) { lv_disp_drv_t *disp_driver = (lv_disp_drv_t *)user_ctx; @@ -410,6 +446,9 @@ void app_main(void) ESP_LOGI(TAG, "Display LVGL animation"); /*测试git*/ + /*配置LEDC进行背光亮度调节 */ + example_ledc_init(); + // Lock the mutex due to the LVGL APIs are not thread-safe if (example_lvgl_lock(-1)) {