main.c

来自「ucos 在 arm9 芯片上的移植」· C语言 代码 · 共 81 行

C
81
字号
#include "main.h"
#include "DRV_VIC.h"
#include "timer.h"
#include "includes.h"


#define         TASK_STK_SIZE                  128
OS_STK          TaskStartStk[TASK_STK_SIZE];
OS_STK          Task1Stk[TASK_STK_SIZE];
OS_STK          Task2Stk[TASK_STK_SIZE];
OS_STK          Task3Stk[TASK_STK_SIZE];
OS_STK          Task4Stk[TASK_STK_SIZE];
OS_STK          Task5Stk[TASK_STK_SIZE];


#define TaskStartPrio 2
#define Task1Prio 3
#define Task2Prio 4
#define Task3Prio 7
#define Task4Prio 8
#define Task5Prio 9


void  TaskStart(void *data);
void  Task1(void *data);
#if 0
void  Task2(void *data);
void  Task3(void *data);
void  Task4(void *data);
void  Task5(void *data);
#endif

int main(void)
{
    DRV_VIC_Init();    
    OSInit();
    OSTimeSet(0);    
    OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], TaskStartPrio);    
    OSStart();
    while(1);
    return 0;
}



void  TaskStart(void *pdata)
{   
    pdata = pdata;
    OSTaskCreate(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE - 1], Task1Prio); 
#if 0
    OSTaskCreate(Task2, (void *)0, &Task2Stk[TASK_STK_SIZE - 1], Task2Prio); 
    OSTaskCreate(Task3, (void *)0, &Task3Stk[TASK_STK_SIZE - 1], Task3Prio); 
    OSTaskCreate(Task4, (void *)0, &Task4Stk[TASK_STK_SIZE - 1], Task4Prio);
    OSTaskCreate(Task5, (void *)0, &Task5Stk[TASK_STK_SIZE - 1], Task5Prio);
#endif
    for (;;)
    {
        OSSchedLock() ; 
        OSSchedUnlock() ;
        OSTimeDly(2);
    }
    return;
}


void  Task1(void *pdata)
{
    pdata = pdata;       
    TMR_Initialize();
    for (;;)
    {
        OSSchedLock();
        OSSchedUnlock();
        OSTimeDly(2);
    }
    return;
}



⌨️ 快捷键说明

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