/* * task.h * * Created on: 2024年6月24日 * Author: psx */ #ifndef APP_INC_TASK_H_ #define APP_INC_TASK_H_ #include "timeSliceOffset.h" #include "uart_dev.h" #include "math.h" void Init(); /* 控制运行指示灯和喂狗 */ #define WdiRunled_reloadVal 1000 /* 任务执行间隔 */ #define WdiRunled_offset 700 /* 任务执行偏移量 */ #define wdi_RESET (60 * 60 * 24) /* 一天复位一次 */ extern STR_TimeSliceOffset m_WdiRunled; extern void Task_WdiRunled(void); /* 刷新寄存器中的数据 */ #define refreshRegister_reloadVal 1000 /* 任务执行间隔 */ #define refreshRegister_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset m_refreshRegister; extern void Task_refreshRegister(void); /* 回路阻抗检测 */ #define impedanceCalculation_reloadVal 200 /* 任务执行间隔 */ #define impedanceCalculation_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset g_impedanceCalculation; extern void Task_impedanceCalculation(void); /* 短路保护 */ #define outputAgain_reloadVal 1000 /* 任务执行间隔 */ #define outputAgain_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset g_outputAgain; extern void Task_outputAgain(void); /* 过载保护 */ #define excessiveLoad_reloadVal 1000 /* 任务执行间隔 */ #define excessiveLoad_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset g_excessiveLoad; extern void Task_excessiveLoad(void); /* 软启动 */ #define softStart_reloadVal 10 /* 任务执行间隔 */ #define softStart_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset m_softStart; extern void Task_softStart(void); /* 启动任务 */ #define startMpptControl_reloadVal 1000 /* 任务执行间隔 */ #define startMpptControl_offset 200 /* 任务执行偏移量 */ extern STR_TimeSliceOffset g_startMpptControl; extern void Task_startMpptControl(void); /* 根据寄存器数据完成一些判断 */ #define dataJudgment_reloadVal 1000 /* 任务执行间隔 */ #define dataJudgment_offset 500 /* 任务执行偏移量 */ extern STR_TimeSliceOffset g_dataJudgment; extern void Task_dataJudgment(void); /* 串口数据解析和处理 */ #define usartJudge_reloadVal 100 /* 任务执行间隔 */ #define usartJudge_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset m_usartJudge; extern void Task_usartJudge(void); #define usartHandle_reloadVal 20 /* 任务执行间隔 */ #define usartHandle_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset m_usartHandle; extern void Task_usartHandle(void); typedef void (*uartJudgeHandle)(device_handle device); extern uartJudgeHandle uart_judge_handle; /* 广播回应 */ #define recvbroadcast_reloadVal 3000 /* 任务执行间隔 */ #define recvbroadcast_offset 0 /* 任务执行偏移量 */ extern uint8_t recvbroadcast_flag; /* 是否需要再次发送标志 */ extern device_handle g_recvBroadcastDevice; /* 串口句柄 */ extern STR_TimeSliceOffset g_recvbroadcast; extern void Task_recvbroadcast(void); /* 再次注册延时 */ #define sensorEnableBroadcast_reloadVal 1000 /* 任务执行间隔 */ #define sensorEnableBroadcast_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset g_sensorEnableBroadcast; extern void Task_sensorEnableBroadcast(void); /* 配置文件读取 */ #define uartConfigFile_reloadVal 200 /* 任务执行间隔 */ #define uartConfigFile_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset m_uartConfigFile; extern void Task_uartConfigFile(void); /* 过载保护 */ #define overloadDelay_reloadVal 10 /* 任务执行间隔 */ #define overloadDelay_offset 0 /* 任务执行偏移量 */ extern STR_TimeSliceOffset g_overloadDelay; extern void Task_overloadDelay(void); #endif /* APP_INC_TASK_H_ */