Files
B_Current_Ctrl/APP/main_task.c
2025-10-19 21:15:32 +08:00

103 lines
1.5 KiB
C

#include "FreeRTOS.h"
#include "task.h"
#include "main.h"
#include "main_task.h"
#include "device_task.h"
#include "monitor_task.h"
#include "global.h"
#include "control.h"
#include "drv_relay.h"
#include "drv_fan.h"
#include "drv_power.h"
//定义输入输出接口
//ExtU_control_T *u;
//ExtY_control_T *y;
#include "hrtim.h"
osThreadId_t cilTaskHandle;
const osThreadAttr_t cilTask_attributes = {
.name = "cilTask",
.priority = (osPriority_t) osPriorityNormal,
.stack_size = 128 * 4
};
osThreadId_t monitorTaskHandle;
const osThreadAttr_t monitorTask_attributes = {
.name = "monitorTask",
.priority = (osPriority_t) osPriorityNormal,
.stack_size = 128 * 4
};
osThreadId_t deviceTaskHandle;
const osThreadAttr_t deviceTask_attributes = {
.name = "deviceTask",
.priority = (osPriority_t) osPriorityNormal,
.stack_size = 128 * 4
};
extern void StartCliTask(void * argument);
extern void StartMonitorTask(void * argument);
extern void StartDeviceTask(void * argument);
void StartDefaultTask(void * argument)
{
uint16_t tick = 0;
//task init
cilTaskHandle = osThreadNew(StartCliTask, NULL, &cilTask_attributes);
monitorTaskHandle = osThreadNew(StartMonitorTask, NULL, &monitorTask_attributes);
deviceTaskHandle = osThreadNew(StartDeviceTask, NULL, &deviceTask_attributes);
//init
control_initialize();
for(;;)
{
osDelay(10);
//执行电压控制,电流控制工作
//step
control_step();
//__HAL_HRTIM_SETCOMPARE(&hhrtim1, HRTIM_TIMERINDEX_TIMER_A, HRTIM_COMPAREUNIT_1, 3500);
}
}