更新按键

This commit is contained in:
不吃油炸鸡
2025-12-02 19:23:20 +08:00
parent e141aa4260
commit f23ba835f0
3 changed files with 11 additions and 9 deletions

View File

@@ -80,7 +80,7 @@ void HardwareInitTask(void *argument)
// HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4); // HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4);
// key // key
Key_Port_Init(); Key_Init();
// system settings from eeprom // system settings from eeprom
if(!EEPROM_Init_Check()) { if(!EEPROM_Init_Check()) {

View File

@@ -22,13 +22,12 @@
*/ */
void KeyTask(void *argument) void KeyTask(void *argument)
{ {
uint8_t keystr = 0; key_event_t key_event;
while(1) while(1)
{ {
keystr = KeyScan(0); if(Key_Scan(&key_event))
if(keystr != 0)
{ {
osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1); osMessageQueuePut(Key_MessageQueue, &key_event, 0, 1);
// beep // beep
if(Sys_Get_KeySoundEnable()) if(Sys_Get_KeySoundEnable())
{ {

View File

@@ -5,6 +5,9 @@
#include "sys.h" #include "sys.h"
#include "stdio.h" #include "stdio.h"
//bsp
#include "key.h"
//gui //gui
#include "lvgl.h" #include "lvgl.h"
#include "lv_lib_pm.h" #include "lv_lib_pm.h"
@@ -91,7 +94,7 @@ void User_Tasks_Init(void)
/* start timers, add new ones, ... */ /* start timers, add new ones, ... */
/* add queues, ... */ /* add queues, ... */
Key_MessageQueue = osMessageQueueNew(4, 1, NULL); Key_MessageQueue = osMessageQueueNew(4, sizeof(key_event_t), NULL);
/* add threads, ... */ /* add threads, ... */
HardwareInitTaskHandle = osThreadNew(HardwareInitTask, NULL, &HardwareInitTask_attributes); HardwareInitTaskHandle = osThreadNew(HardwareInitTask, NULL, &HardwareInitTask_attributes);
@@ -127,11 +130,11 @@ void TaskTickHook(void)
*/ */
void LvHandlerTask(void *argument) void LvHandlerTask(void *argument)
{ {
uint8_t keystr = 0; key_event_t key_event;
while(1) while(1)
{ {
if(osMessageQueueGet(Key_MessageQueue, &keystr, NULL, 1)==osOK) { if(osMessageQueueGet(Key_MessageQueue, &key_event, NULL, 1)==osOK) {
lv_lib_pm_handle_key_event(keystr); lv_lib_pm_handle_key_event(&key_event);
} }
lv_task_handler(); lv_task_handler();
osDelay(1); osDelay(1);