#ifndef _DPC_COMM_TASK_H_ #define _DPC_COMM_TASK_H_ #include #include #include typedef struct { float V375; float I375; float V48; float I48; float V12; float I12; float G375; float G48; float G24; float G12; uint8_t G375Sta; uint8_t G48Sta; uint8_t G24Sta; uint8_t G12Sta; } RUN_DPC_DATA; typedef struct { uint8_t CO2In; uint8_t CTDIn; uint8_t UV1In; uint8_t UV2In; uint8_t UV3In; uint8_t UV4In; float VedioV; float VedioI; } OUTOUT_DPC_STATUS; #define STATUS_RUN_ASK_ID 1 // 请求运行环境状态数据 #define STATUS_OUTPUT_ASK_ID 2 // 请求输出端口状态数据 #define RESTART_CMD_ID 3 // 请求重启 #define STATUS_ALL 3 // 需要请求的最大状态数据总类个数 int TaskDpcCommInit(void); // 初始化 void TaskDpcComm(void *arg); // 与下位机通信的任务 int TaskDpcCommSetAskEnable(uint32_t AskId); // 请求数据使能 int TaskDpcCommGetRunData(RUN_DPC_DATA *DpcRunData); // 获取运行数据 int TaskDpcCommGetOutputData(OUTOUT_DPC_STATUS *DpcOutputData); // 获取输出数据 uint8_t TaskDpcCommGetRunDataStatus(void); // 运行数据的最新数据是否更新 uint8_t TaskDpcCommGetOutputDataStatus(void); // 输出数据的最新数据是否更新 int TaskDpcCommGetAskStatus(void); // 获取当前使能工作的情况 uint32_t TaskDpcCommGetSendEndSta(void); // 指令发送情况 void TaskDpcCommClearSendEndSta(void); // 指令发送清空 #endif