From 8d39ebb45637d25b0bba4f6e224f9b502519aef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=90=83=E6=B2=B9=E7=82=B8=E9=B8=A1?= <1425962791@qq.com> Date: Tue, 14 Oct 2025 15:53:15 +0800 Subject: [PATCH] add beep in setting --- Power_Pico/Core/Src/tim.c | 4 ++-- Power_Pico/User/GUI/screens/ui_SetPage.c | 6 +++++- Power_Pico/User/Tasks/Src/user_KeyTask.c | 8 ++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Power_Pico/Core/Src/tim.c b/Power_Pico/Core/Src/tim.c index e811e7e..8b1e6e6 100644 --- a/Power_Pico/Core/Src/tim.c +++ b/Power_Pico/Core/Src/tim.c @@ -146,7 +146,7 @@ void MX_TIM4_Init(void) htim4.Instance = TIM4; htim4.Init.Prescaler = 99; htim4.Init.CounterMode = TIM_COUNTERMODE_UP; - htim4.Init.Period = 250; + htim4.Init.Period = 500; htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) @@ -160,7 +160,7 @@ void MX_TIM4_Init(void) Error_Handler(); } sConfigOC.OCMode = TIM_OCMODE_PWM1; - sConfigOC.Pulse = 0; + sConfigOC.Pulse = 250; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) diff --git a/Power_Pico/User/GUI/screens/ui_SetPage.c b/Power_Pico/User/GUI/screens/ui_SetPage.c index cd72114..be4f9a7 100644 --- a/Power_Pico/User/GUI/screens/ui_SetPage.c +++ b/Power_Pico/User/GUI/screens/ui_SetPage.c @@ -6,15 +6,19 @@ #include "../ui.h" lv_obj_t * ui_SetPage = NULL; +// backlight static lv_obj_t * ui_PanelBL = NULL; static lv_obj_t * ui_SliderBL = NULL; static lv_obj_t * ui_LabelBL = NULL; +// key sound static lv_obj_t * ui_PanelKS = NULL; static lv_obj_t * ui_SwitchKS = NULL; static lv_obj_t * ui_LabelKS = NULL; +// language static lv_obj_t * ui_PanelLang = NULL; static lv_obj_t * ui_SwitchLang = NULL; static lv_obj_t * ui_LabelLang = NULL; +// about static lv_obj_t * ui_PanelAbout = NULL; static lv_obj_t * ui_LabelAbout = NULL; @@ -177,7 +181,7 @@ void ui_SetPage_screen_init(void) lv_label_set_text(ui_LabelAbout, "About\nPower-Pico\nA uA current meter\nV 1.0.0"); lv_obj_set_style_text_font(ui_LabelAbout, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT); - // + // store panels in array panels[0] = ui_PanelBL; panels[1] = ui_PanelKS; panels[2] = ui_PanelLang; diff --git a/Power_Pico/User/Tasks/Src/user_KeyTask.c b/Power_Pico/User/Tasks/Src/user_KeyTask.c index 747f4a1..696fdb9 100644 --- a/Power_Pico/User/Tasks/Src/user_KeyTask.c +++ b/Power_Pico/User/Tasks/Src/user_KeyTask.c @@ -3,6 +3,7 @@ #include "user_TasksInit.h" #include "main.h" #include "key.h" +#include "beep.h" /* Private typedef -----------------------------------------------------------*/ @@ -27,6 +28,13 @@ void KeyTask(void *argument) if(keystr != 0) { osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); + // beep + if(1) + { + beep_open(); + osDelay(50); + beep_close(); + } } osDelay(10); }