os_cpu.c

来自「ucosii c源码」· C语言 代码 · 共 118 行

C
118
字号






#define	  OS_CPU_GLOBALS
#include  "includes.h"




/*
**********************************************************
			初始化任务堆栈
**********************************************************
*/

void *SOTaskStkInit(void(*task)(void *pd),void *ppdata,void *ptos,INT16U opt) reentrant
{
	OS_STK *stk;
	
	ppdata	=ppdata;
	opt	=opt;
	stk	=(OS_STK*)ptos;
	*stk++	=15;
	*stk++	=(INT16U)task&0xff;
	*stk++	=(INT16U)task>>8;
	*stk++	=0x00;
	*stk++	=0x0a;
	*stk++	=0x0b;
	*stk++	=0x00;
	*stk++	=0x00;
	*stk++	=0x00;
	*stk++	=0x01;
	*stk++	=0x02;
	*stk++	=0x03;
	*stk++	=0x04;
	*stk++	=0x05;
	*stk++	=0x06;
	*stk++	=0x07;	
	*stk++	=(INT16U)(ptos+MaxStkSize)>>8;
	*stk++	=(INT16U)(ptos+MaxStkSize)&0xff;
	
	return ((void *)ptos);
}

if OS_CPU_HOOKS_EN

/*
**************************************************
		任务创建勾挂函数
**************************************************
*/

void OSTaskCreateHook(OS_TCB *ptcb) reentrant
{
	ptcb=ptcb;
}

/*
**************************************************
		任务删除勾挂函数
**************************************************
*/

void OSTaskDelHook(OS_TCB *ptcb) reentrant
{
	ptcb=ptcb;
}


/*
**************************************************
		任务切换勾挂函数
**************************************************
*/

void OSTaskSwHook(void) reentrant
{
}

/*
**************************************************
		统计任务勾挂函数
**************************************************
*/

void OSTaskStatHook(void) reentrant
{
}

/*
**************************************************
		定时勾挂函数
**************************************************
*/

void OSTimeTickHook(void) reentrant
{
}

/*
**************************************************
		初始化定时器 0
**************************************************
*/

void InitTime0(void) reentrant
{
	TMOD=TMOD&0XF0;
	TMO=TMOD|0X01;
	TH0=0X70;
	TL0=0X00;
	ET0=1;
	TR0=1;
}
#endif

⌨️ 快捷键说明

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