mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
40 lines
1.0 KiB
C
40 lines
1.0 KiB
C
#ifndef __USER_TASKSINIT_H__
|
||
#define __USER_TASKSINIT_H__
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
#include "FreeRTOS.h"
|
||
#include "cmsis_os.h"
|
||
|
||
// 用于数据传输的结构体,包含电压和电流
|
||
// 流向为 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 ADC 半满
|
||
#define FLAG_ADC_FULL_READY 0x0002U // 0000 0010 ADC 全满
|
||
#define FLAG_USB_UPDATE_REQ 0x0004U // 0000 0100 USB 请求升级
|
||
|
||
extern osThreadId_t MessageSendTaskHandle;
|
||
extern osThreadId_t MessageReceiveTaskHandle;
|
||
|
||
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);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|
||
|