From f23ba835f063a549e0c97e938437fe3af9bcdc0c 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, 2 Dec 2025 19:23:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8C=89=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Power_Pico/User/Tasks/Src/user_HardwareInitTask.c | 2 +- Power_Pico/User/Tasks/Src/user_KeyTask.c | 7 +++---- Power_Pico/User/Tasks/Src/user_TasksInit.c | 11 +++++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Power_Pico/User/Tasks/Src/user_HardwareInitTask.c b/Power_Pico/User/Tasks/Src/user_HardwareInitTask.c index 32e2d99..e84e27a 100644 --- a/Power_Pico/User/Tasks/Src/user_HardwareInitTask.c +++ b/Power_Pico/User/Tasks/Src/user_HardwareInitTask.c @@ -80,7 +80,7 @@ void HardwareInitTask(void *argument) // HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4); // key - Key_Port_Init(); + Key_Init(); // system settings from eeprom if(!EEPROM_Init_Check()) { diff --git a/Power_Pico/User/Tasks/Src/user_KeyTask.c b/Power_Pico/User/Tasks/Src/user_KeyTask.c index 486a276..b0d1949 100644 --- a/Power_Pico/User/Tasks/Src/user_KeyTask.c +++ b/Power_Pico/User/Tasks/Src/user_KeyTask.c @@ -22,13 +22,12 @@ */ void KeyTask(void *argument) { - uint8_t keystr = 0; + key_event_t key_event; while(1) { - keystr = KeyScan(0); - if(keystr != 0) + if(Key_Scan(&key_event)) { - osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); + osMessageQueuePut(Key_MessageQueue, &key_event, 0, 1); // beep if(Sys_Get_KeySoundEnable()) { diff --git a/Power_Pico/User/Tasks/Src/user_TasksInit.c b/Power_Pico/User/Tasks/Src/user_TasksInit.c index a582fd6..3c2dd0c 100644 --- a/Power_Pico/User/Tasks/Src/user_TasksInit.c +++ b/Power_Pico/User/Tasks/Src/user_TasksInit.c @@ -5,6 +5,9 @@ #include "sys.h" #include "stdio.h" +//bsp +#include "key.h" + //gui #include "lvgl.h" #include "lv_lib_pm.h" @@ -91,7 +94,7 @@ void User_Tasks_Init(void) /* start timers, add new ones, ... */ /* add queues, ... */ - Key_MessageQueue = osMessageQueueNew(4, 1, NULL); + Key_MessageQueue = osMessageQueueNew(4, sizeof(key_event_t), NULL); /* add threads, ... */ HardwareInitTaskHandle = osThreadNew(HardwareInitTask, NULL, &HardwareInitTask_attributes); @@ -127,11 +130,11 @@ void TaskTickHook(void) */ void LvHandlerTask(void *argument) { - uint8_t keystr = 0; + key_event_t key_event; while(1) { - if(osMessageQueueGet(Key_MessageQueue, &keystr, NULL, 1)==osOK) { - lv_lib_pm_handle_key_event(keystr); + if(osMessageQueueGet(Key_MessageQueue, &key_event, NULL, 1)==osOK) { + lv_lib_pm_handle_key_event(&key_event); } lv_task_handler(); osDelay(1);