加入按键页面切换逻辑

This commit is contained in:
不吃油炸鸡
2025-10-07 10:30:37 +08:00
parent 1618bf0a50
commit 3bbca410dc
2 changed files with 9 additions and 22 deletions

View File

@@ -24,28 +24,10 @@ void KeyTask(void *argument)
while(1) while(1)
{ {
keystr = KeyScan(0); keystr = KeyScan(0);
switch(keystr) if(keystr != 0)
{ {
case KEYB_NUM:
osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); 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;
} }
osDelay(1); osDelay(10);
} }
} }

View File

@@ -7,6 +7,7 @@
//gui //gui
#include "lvgl.h" #include "lvgl.h"
#include "PageManager.h"
//tasks //tasks
#include "user_HardwareInitTask.h" #include "user_HardwareInitTask.h"
@@ -85,7 +86,7 @@ void User_Tasks_Init(void)
/* add threads, ... */ /* add threads, ... */
HardwareInitTaskHandle = osThreadNew(HardwareInitTask, NULL, &HardwareInitTask_attributes); HardwareInitTaskHandle = osThreadNew(HardwareInitTask, NULL, &HardwareInitTask_attributes);
DataTaskHandle = osThreadNew(DataTask, NULL, &DataTask_attributes); // DataTaskHandle = osThreadNew(DataTask, NULL, &DataTask_attributes);
KeyTaskHandle = osThreadNew(KeyTask, NULL, &KeyTask_attributes); KeyTaskHandle = osThreadNew(KeyTask, NULL, &KeyTask_attributes);
LvHandlerTaskHandle = osThreadNew(LvHandlerTask, NULL, &LvHandlerTask_attributes); LvHandlerTaskHandle = osThreadNew(LvHandlerTask, NULL, &LvHandlerTask_attributes);
@@ -116,8 +117,12 @@ void TaskTickHook(void)
*/ */
void LvHandlerTask(void *argument) void LvHandlerTask(void *argument)
{ {
uint8_t keystr = 0;
while(1) while(1)
{ {
if(osMessageQueueGet(Key_MessageQueue, &keystr, NULL, 1)==osOK) {
PageManager_handle_key_event(keystr);
}
lv_task_handler(); lv_task_handler();
osDelay(1); osDelay(1);
} }