From 3bbca410dcda183f30b013ddbd20b880cabfb2f0 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, 7 Oct 2025 10:30:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=8C=89=E9=94=AE=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=88=87=E6=8D=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Power_Pico/User/Tasks/Src/user_KeyTask.c | 24 +++------------------- Power_Pico/User/Tasks/Src/user_TasksInit.c | 7 ++++++- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/Power_Pico/User/Tasks/Src/user_KeyTask.c b/Power_Pico/User/Tasks/Src/user_KeyTask.c index 3f67aef..747f4a1 100644 --- a/Power_Pico/User/Tasks/Src/user_KeyTask.c +++ b/Power_Pico/User/Tasks/Src/user_KeyTask.c @@ -24,28 +24,10 @@ void KeyTask(void *argument) while(1) { keystr = KeyScan(0); - switch(keystr) + if(keystr != 0) { - case KEYB_NUM: - osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); - break; - - case KEYY_NUM: - osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); - break; - - case KEYL_NUM: - osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); - break; - - case KEYR_NUM: - osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); - break; - - case KEYN_NUM: - osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); - break; + osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); } - osDelay(1); + osDelay(10); } } diff --git a/Power_Pico/User/Tasks/Src/user_TasksInit.c b/Power_Pico/User/Tasks/Src/user_TasksInit.c index 05c1742..c23246c 100644 --- a/Power_Pico/User/Tasks/Src/user_TasksInit.c +++ b/Power_Pico/User/Tasks/Src/user_TasksInit.c @@ -7,6 +7,7 @@ //gui #include "lvgl.h" +#include "PageManager.h" //tasks #include "user_HardwareInitTask.h" @@ -85,7 +86,7 @@ void User_Tasks_Init(void) /* add threads, ... */ HardwareInitTaskHandle = osThreadNew(HardwareInitTask, NULL, &HardwareInitTask_attributes); - DataTaskHandle = osThreadNew(DataTask, NULL, &DataTask_attributes); + // DataTaskHandle = osThreadNew(DataTask, NULL, &DataTask_attributes); KeyTaskHandle = osThreadNew(KeyTask, NULL, &KeyTask_attributes); LvHandlerTaskHandle = osThreadNew(LvHandlerTask, NULL, &LvHandlerTask_attributes); @@ -116,8 +117,12 @@ void TaskTickHook(void) */ void LvHandlerTask(void *argument) { + uint8_t keystr = 0; while(1) { + if(osMessageQueueGet(Key_MessageQueue, &keystr, NULL, 1)==osOK) { + PageManager_handle_key_event(keystr); + } lv_task_handler(); osDelay(1); }