📄 os_cpu_c.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -