main.c

来自「ucos2.52在2812上的移植」· C语言 代码 · 共 98 行

C
98
字号
#include "includes.h"
#include "DSP28_Device.h"
#define TASK_STK_SIZE  50
#define N_TASKS        3
OS_STK  TaskStartStk[TASK_STK_SIZE];
OS_STK  TaskStk[N_TASKS][TASK_STK_SIZE]; 
/*
*********************************************************************************************************
*                                           FUNCTION PROTOTYPES
*********************************************************************************************************
*/
void   Task(void *data);     
void Task1(void *data);
void   TaskStart(void *data);     
/*
*********************************************************************************************************
*                                                MAIN
*********************************************************************************************************
*/

void main (void)
{
    DINT;        
    EALLOW;	
    InitPieVectTable();	
    InitPieCtrl();    
    EDIS;   	
	
    OSInit();   
    OSTaskCreate(TaskStart, (void *)0, (void *)&TaskStartStk[0], 4);

    OSStart();  
}

/*
*********************************************************************************************************
*                                              STARTUP TASK
*********************************************************************************************************
*/
void TaskStart (void *data)
{
    data = data;
    
    InitCpuTimers();
    EALLOW;
	IER |= M_INT1;	
	PieCtrlRegs.PIEIER1.bit.INTx7 = 1;  
	PieVectTable.TINT0 = &OSTickISR;
	PieVectTable.USER11 = &OSCtxSw;
	EDIS; 
    
    ConfigCpuTimer(&CpuTimer0, 100, 1000000); 	
    OSTaskCreate(Task, (void *)0, (void *)&TaskStk[0][0], 12);
	OSTaskCreateExt(Task1, (void *)0, (void *)&TaskStk[1][0], 11, 11, (void *)&TaskStk[1][TASK_STK_SIZE-1], TASK_STK_SIZE, (void*)0, OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR);
    
    StartCpuTimer0();    
    EINT;  
	ERTM;
	
    for (;;)  {    
      
        OSTimeDly(4);  
    
       }
}
/*
*********************************************************************************************************
*                                                  TASKS
*********************************************************************************************************
*/
void Task1(void *data)
{
    for (;;) {      
       OSTimeDly(6);  
     }
}


void Task (void *data)
{
	INT8U x1;

	OS_STK_DATA chkData;


    for (;;) {      
		
		x1 = OSTaskStkChk(OS_IDLE_PRIO, &chkData);
		x1 = OSTaskStkChk(11, &chkData);

      OSTimeDly(7);  
      
    }
}



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?