#pragma once #ifdef __cplusplus extern "C" { #endif #include #include "FreeRTOS.h" #include "task.h" // 定义任务运行时结构体 typedef struct { uint32_t runtime; } Task_Runtime_t; // 任务频率和初始化延时 #define TASK_FREQ_CAN (1000u) #define TASK_FREQ_ADC (500u) #define TASK_INIT_DELAY_INFO (500u) // 任务句柄 typedef struct { osThreadId_t can; osThreadId_t adc; osThreadId_t monitor; // osThreadId_t init; osThreadId_t pc; } Task_Handles_t; extern Task_Runtime_t task_runtime; extern const osThreadAttr_t attr_init; extern const osThreadAttr_t attr_can; extern const osThreadAttr_t attr_adc; extern const osThreadAttr_t attr_monitor; extern const osThreadAttr_t attr_pc; extern osMessageQueueId_t adcQueueHandle; extern osMessageQueueId_t pcQueueHandle; void Task_Init(void *argument); void Task_Can(void *argument); void Task_Adc(void *argument); void Task_Monitor(void *argument); void Task_PC(void *argument); #ifdef __cplusplus } #endif