os_cpu_c.c
来自「此代码是ucos-II在凌阳61单片机上的移植」· C语言 代码 · 共 73 行
C
73 行
#include "INCLUDES.H"
char InterruptC;
OS_STK *OSTaskStkInit(void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt)
{
OS_STK *stk;
pdata=pdata;
opt=opt;
stk=(OS_STK *)ptos;
*stk--=*((INT16U*)task+1); /*任务地址(PC)*/
*stk--=0x0000; /*SR(R6) */
*stk--=0x0000; /*BP(R5) */
*stk--=0x0000; /*R4 */
*stk--=0x0000; /*R3 */
*stk--=0x0000; /*R2 */
*stk--=0x0000; /*R1 */
*stk--=0x0000; /*该任务的中断开关次数标志*/
return((void *)stk);
}
void OSTaskCreateHook(OS_TCB *ptcb)
{
ptcb=ptcb;
}
void OSTaskDelHook(OS_TCB *ptcb)
{
ptcb=ptcb;
}
void OSTaskSwHook(void)
{
}
void OSTaskIdleHook(void)
{
}
void OSTaskStatHook(void)
{
}
void OSTimeTickHook(void)
{
}
void OSInitHookBegin(void)
{
}
void OSInitHookEnd(void)
{
}
void OSTCBInitHook(OS_TCB* ptcb)
{
ptcb=ptcb;
}
void Critical_in(void)
{
__asm("INT OFF");
InterruptC++;
}
void Critical_out(void)
{
InterruptC--;
if(InterruptC==0)
__asm("INT IRQ");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?