start_task.c 1.32 KB
#include "sys.h"
#include "includes.h"
#include "hardware.h"
#include "start_task.h"


//OS_STK ADC_TASK_STK[ADC_STK_SIZE];//为IO-TASK程序定义申请堆栈空间数组32位一个单位
//__align(8)OS_STK	LOGIC_TASK_STK[LOGIC_STK_SIZE];
//__align(8)OS_STK	MSG_TASK_STK[MSG_STK_SIZE];
//__align(8)OS_STK	ACT_TASK_STK[ACT_STK_SIZE];
//__align(8)OS_STK	SET_TASK_STK[SET_STK_SIZE];
OS_STK	OUTPUT_TASK_STK[OUTPUT_STK_SIZE];


//void adc_task(void *pdata);
	
//void logic_task(void *pdata);  
//void msg_task(void *pdata);
//void act_task(void *pdata);
void output_task(void *pdata);
//void set_task(void *pdata);

void start_task(void *pdata)
{
	OS_CPU_SR cpu_sr;
	pdata = pdata ;	
	OSStatInit();  			//初始化统计任务
	OS_ENTER_CRITICAL();//关中断
////	OSTaskCreate(logic_task,(void*)0,(OS_STK*)&LOGIC_TASK_STK[LOGIC_STK_SIZE-1],LOGIC_TASK_PRIO);
//	OSTaskCreate(adc_task,(void*)0,(OS_STK*)&ADC_TASK_STK[ADC_STK_SIZE-1],ADC_TASK_PRIO);
	
//	OSTaskCreate(msg_task,(void*)0,(OS_STK*)&MSG_TASK_STK[MSG_STK_SIZE-1],MSG_TASK_PRIO);
//	OSTaskCreate(act_task,(void*)0,(OS_STK*)&ACT_TASK_STK[ACT_STK_SIZE-1],ACT_TASK_PRIO);
//	OSTaskCreate(set_task,(void*)0,(OS_STK*)&SET_TASK_STK[SET_STK_SIZE-1],SET_TASK_PRIO);
	
	OSTaskCreate(output_task,(void*)0,(OS_STK*)&OUTPUT_TASK_STK[OUTPUT_STK_SIZE-1],OUTPUT_TASK_PRIO);
	
	OSTaskSuspend(OS_PRIO_SELF); 
	OS_EXIT_CRITICAL();  //开中断
}