加入电压电流数据传输的消息队列,取消直接访问变量

This commit is contained in:
不吃油炸鸡
2026-03-19 11:18:06 +08:00
parent 3a720a9088
commit 4f6bd98b96
6 changed files with 73 additions and 8 deletions

View File

@@ -8,18 +8,26 @@ extern "C" {
#include "FreeRTOS.h"
#include "cmsis_os.h"
// 定义一个标志位,表示 ADC 数据已经准备好,可以发送了
// 用于数据传输的结构体,包含电压和电流
// 流向为 MessageSendTask -> LVGLtask
typedef struct {
float voltage; // 电压 (V)
float current; // 电流 (uA)
} PowerData_t;
// 定义一个标志位,表示 ADC 数据已经准备好在ADC DMA中断中被置位
// 在 MessageSendTask 中等待这个标志位,表示可以发送 ADC 数据了
#define FLAG_ADC_HALF_READY 0x0001U // 0000 0001
#define FLAG_ADC_FULL_READY 0x0002U // 0000 0010
extern osThreadId_t MessageSendTaskHandle; // 用于发送 ADC 数据的任务句柄
extern osThreadId_t MessageSendTaskHandle;
extern osMessageQueueId_t Key_MessageQueue;
extern osMessageQueueId_t PD_cmd_MessageQueue;
extern osMessageQueueId_t PD_handle_event_MsgQueue;
extern osMessageQueueId_t PowerDataQueue;
void User_Tasks_Init(void);
void TaskTickHook(void);
#ifdef __cplusplus
}