?? os_main.c
字號:
//-+---+---++-+--+-++-+++--++--+++
#include "std.h"
#include "HW_Periph.h"
#include "HW_func.h"
#include "sysconf.h"
#include "snds.h"
//#include "includes.h"
#include "os_cpu.h"
#include "os_cfg.h"
#include "ucos_ii.h"
#include "OS_Main.h"
#include "LWIP_Main.h"
#define TASK_STK_SIZE 512
//-+---+---++-+--+-++-+++--++--+++
OS_STK Task1Stk[TASK_STK_SIZE];
OS_STK Task2Stk[TASK_STK_SIZE];
OS_EVENT *ConsoleSem;
//-+---+---++-+--+-++-+++--++--+++
void TmVector(void);
void Task1(void * pParam);//該任務表示系統還活著
//-+---+---++-+--+-++-+++--++--+++
void OS(void)
{
TM_PARAM t;
//下面我們配置時鐘
t.TIMER_Lisr = TmVector;
t.TM_CHANNEL = TIMER_DEV0;
t.TM_MODE = TM0_TOGGLE;
t.TM_DATA = fMCLK/OS_TICKS_PER_SEC; //5 ms
t.TM_OUT_PORT = 0; //timer output disabled
TimerSetup(&t);//配置硬件時鐘并安裝時鐘向量
Enable_Int(nGLOBAL_INT);//全局中斷打開
OSInit();
Print("uC/OS-II v2.51 for S3C4510(ARM7TDMI) Ported by Ding yi <ws_dy@sina.com>\r\n");
Print("==================uC/OS-II Kernel initialized==================\r\n");
ConsoleSem = OSSemCreate(1);
OSTaskCreate(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE-1], 3);
//注意:LWIP啟動任務占用優先級4,而LWIP系統使用5-9五個任務容量
OSStart();
}
//-+---+---++-+--+-++-+++--++--+++
void TmVector(void)
{
OSTimeTick();
}
//-+---+---++-+--+-++-+++--++--+++
void Task1(void * pParam)//該任務表示系統還活著
{
//UBYTE err;
INT32U CtrSec,temp;
CtrSec=0;
temp=0;
Timer0Start();
OSTimeDly(2);
OSIdleCtr=0;
OSTimeDly(OS_TICKS_PER_SEC);
temp=OSIdleCtr;
OSIdleCtr=0;
Print("STATICS: %d IdleCount/Second ...\r\n",temp);
OSTaskCreate(LWIP_main, (void *)0, &Task2Stk[TASK_STK_SIZE-1], 4);
Print("LWIP Main Created!\r\n");
while(1)
{
OSTimeDly(OS_TICKS_PER_SEC/2);
IOPDATA= IOPDATA&0x80 ? IOPDATA &(~0x80) : IOPDATA |0x80;//LED7
temp=OSIdleCtr;
OSIdleCtr=0;
// OSSemPend(ConsoleSem,0,&err);
// Print("task1 Time: %d Second ...%d IdleCount/Second \r\n",CtrSec++,temp);
// OSSemPost(ConsoleSem);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -