?? os_cpu_c.c
字號:
/*************************************************************************
* Point RTOS(51) *
* The Real-Time Kernel(For Keil c51) *
* *
* (c) Copyright 2005, PenGH *
* All Rights Reserved *
* *
* V0.9.1 *
* *
* File : OS_CPU_C.C *
* Author : 彭光紅 *
* History : *
* 2005/08 By PenGH *
*************************************************************************/
/*----------------------------------------------------------------------*/
#define __IN_OS_CPU_C__
#include ".\include\CONFIG.h"
extern idata UINT8 STACK[];
UINT8 idata * data OSTaskStackBotton[OS_MAX_TASKS+2]; /* 堆棧底部位置 */
/*************************************************************************
*
* MODEL NAME : TaskIdle
* DESCRIPTION : 空閑任務
*
*************************************************************************/
void TaskIdle(void) small
{ do{
OSSched(); //空閑任務只是直接進行一次調度
}while(1);
}
/*************************************************************************
*
* MODEL NAME : OSCPUInit
* DESCRIPTION : 堆棧棧底指針表初始化
*
*************************************************************************/
void OSCPUInit(void) small
{
UINT8 i;
for (i = 0; i < OS_MAX_TASKS + 1; i++)
{
OSTaskStackBotton[i] = STACK+i*2;
}
OSTaskStackBotton[OS_MAX_TASKS + 1] = 0x0;
}
/*************************************************************************
*
* MODEL NAME : OSTickISR
* DESCRIPTION : 系統時鐘中斷服務函數
* 此函數有一個匯編版本,用戶可自由選擇用哪個
*
*************************************************************************/
/*#pragma disable*/
//void OSTickISR(void) interrupt OS_TIME_ISR
//{
//UINT8 i;
//
// TL0 = 0xbf;
// TH0 = 0xfc;
// UserTimerProc();
// for (i = 0; i < OS_MAX_TASKS+1; i++)
// {
// if (OSWaitTick[i] != 0 )
// {
// OSWaitTick[i]--;
// if (OSWaitTick[i] == 0)
// {
// OSTaskRuning |= OSMapTbl[i];
// }
// }
// }
//}
/* The end of file */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -