⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 ucos2.52在2812上的移植
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -