- 博客(6)
- 资源 (9)
- 收藏
- 关注
原创 uc/os--OSStart
OSStart从就绪表中选择最高的优先级OSPrioHighRdy,通过查表OSTCBPrioTbl,获取最高优先级的TCB块,OSTCBCur = OSTCBPrioTbl[OSPrioHighRdy],最后调用OSStartHighRdy函数void OSStart (void) reentrant { INT8U y; INT8U x;if (OSRunning
2013-01-02 11:25:02
771
原创 uc/os--OSTCBInit
在OSTaskCreate调用OSTaskStkInit后,继续调用OSTCBInit初始化任务的控制块,即写 TCB结构体INT8U OSTCBInit (INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT16U stk_size, void *pext, INT16U opt) reentrant{ OS_TCB *pt
2013-01-02 11:24:16
897
原创 uc/os--OSRdyTbl
INT8U OSRdyTbl[OS_RDY_TBL_SIZE] 就绪表:存放8位无符号整数假如有个优先级prio,怎么在OSRdyTbl表里查找相应的位置呢? int y = prio >> 3; /* 获取prio的高3位*/ 那么OSRdyTbl[ prio >> 3]即为prio所在组的优先级,prio & 0x07即为该优先级对应的值在OSRdyTbl里,每个优先级对应
2013-01-02 11:22:21
912
原创 uc/os--OSTaskStkInit
OSTaskStkInit传入参数:任务的入口函数地址,函数所需要的参数地址,函数对应的栈地址void *OSTaskStkInit (void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt) reentrant{ OS_STK *stk; ppdata = ppdata; opt = opt; //opt没
2013-01-02 11:21:26
2347
原创 uc/os--OSTaskCreate
创建一个任务时,应该传入参数:入口函数,函数所需要的参数指针,函数对应的栈指针,优先级INT8U OSTaskCreate (void (*task)(void *pd), void *ppdata, OS_STK *ptos, INT8U prio) reentrant{ void *psp; INT8U err; if (prio > OS_LOWEST_PRI
2013-01-02 11:19:43
648
原创 uc/os----OSInit
void OSInit (void) reentrant { INT16U i;//初始化全局变量 OSTime = 0L; /* Clear the 32-bit system clock */ OSIntNesting = 0; /* Clear the interrupt nesting counter */ OSLockNesting = 0; /* Clear t
2013-01-02 11:17:55
607
Borland C++3.1英文版
2012-08-03
嵌入式实时操作系统uCOS-II
2012-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人