μC/OS-Ⅱ下的九个C语言文件功能函数大全。转载自song529110的笔记(http://blog.21ic.com/user1/4838/index.htm)
一、OS_CORE.C
(1)void OSInit (void)
(2)void OSIntEnter (void)
(3)void OSIntExit (void)
(4)void OSSchedLock (void)
(5)void OSSchedUnlock (void)
(6)void OSStart (void)
(7)void OSStatInit (void)
(8)void OSTimeTick (void)
(9)INT16U OSVersion (void)
(10)void OS_Dummy (void)
(11)INT8U OS_EventTaskRdy (OS_EVENT *pevent, void *msg, INT8U msk)
(12)void OS_EventTaskWait (OS_EVENT *pevent)
(13)void OS_EventTO (OS_EVENT *pevent)
(14)void OS_EventWaitListInit (OS_EVENT *pevent)
(15)void OS_Sched (void)
(16)void OS_TaskIdle (void *pdata)
(17)void OS_TaskStat (void *pdata)
(18)INT8U OS_TCBInit (INT8U prio,
备注:INT8U const OSUnMapTbl[ ] 是uc/os为提高查找速度而定义的一个数组。
二、OS_FLAG.C
(1)OS_FLAG_GRP *OSFlagCreate (OS_FLAGS flags,
(2)void OS_FlagInit (void)
(3)OS_FLAG_GRP *OSFlagDel (OS_FLAG_GRP *pgrp, //所要删除信号量集指针
(4)OS_FLAGS OSFlagPend (OS_FLAG_GRP *pgrp,
(5)OS_FLAGS OSFlagAccept (OS_FLAG_GRP *pgrp,
(6)OS_FLAGS OSFlagPost (OS_FLAG_GRP *pgrp,
(7)OS_FLAGS OSFlagQuery (OS_FLAG_GRP *pgrp, //待查询的信号量集的指针
(8)static void OS_FlagBlock (OS_FLAG_GRP *pgrp,
(9)static BOOLEAN OS_FlagTaskRdy (OS_FLAG_NODE *pnode,
(10)void OS_FlagUnlink (OS_FLAG_NODE *pnode)
/ *删除节点,在OSFlagPost() 中被调用*/
三、OS_MBOX.C
(1)void *OSMboxAccept (OS_EVENT *pevent) // 无等待的请求消息邮箱
(2)OS_EVENT *OSMboxCreate (void *msg)
(3)OS_EVENT *OSMboxDel (OS_EVENT *pevent, INT8U opt, INT8U *err)
(4)void *OSMboxPend (OS_EVENT *pevent, INT16U timeout, INT8U *err)
(5)INT8U OSMboxPost (OS_EVENT *pevent, void *msg)//向消息邮箱发送消息
(6)INT8U OSMboxPostOpt (OS_EVENT *pevent, void *msg, INT8U opt)
(7)INT8U OSMboxQuery (OS_EVENT *pevent, OS_MBOX_DATA *pdata)
四、OS_MEM.C
(1)OS_MEM *OSMemCreate (void *addr, INT32U nblks, INT32U blksize, INT8U *err)
(2)void *OSMemGet (OS_MEM *pmem, INT8U *err) // 请求获得一个内存块
(3)INT8U OSMemPut (OS_MEM *pmem, void *pblk) // 释放一个内存块
(4)INT8U OSMemQuery (OS_MEM *pmem, OS_MEM_DATA *pdata)
(5)void OS_MemInit (void)
五、OS_MUTEX.C
(1)INT8U OSMutexAccept (OS_EVENT *pevent, INT8U *err)
(2)OS_EVENT *OSMutexCreate (INT8U prio, INT8U *err)
(3)OS_EVENT *OSMutexDel (OS_EVENT *pevent, INT8U opt, INT8U *err)
(4)void OSMutexPend (OS_EVENT *pevent, INT16U timeout, INT8U *err)
(5)INT8U OSMutexPost (OS_EVENT *pevent) //发送(释放)互斥型信号量
(6)INT8U OSMutexQuery (OS_EVENT *pevent, OS_MUTEX_DATA *pdata)
六、OS_Q.C
(1)void *OSQAccept (OS_EVENT *pevent) // 无等待的请求一个消息队列
(2)OS_EVENT *OSQCreate (void **start, INT16U size) //创建一个消息队列
(3)OS_EVENT *OSQDel (OS_EVENT *pevent, INT8U opt, INT8U *err)
(4)INT8U OSQFlush (OS_EVENT *pevent) // 清空消息队列
(5)void *OSQPend (OS_EVENT *pevent, INT16U timeout, INT8U *err)
(6)INT8U OSQPost (OS_EVENT *pevent, void *msg)
(7)INT8U OSQPostFront (OS_EVENT *pevent, void *msg)
(8)INT8U OSQPostOpt (OS_EVENT *pevent, void *msg, INT8U opt)
(9)INT8U OSQQuery (OS_EVENT *pevent, OS_Q_DATA *pdata)
(10)void OS_QInit (void)
七、OS_SEM.C
(1)INT16U OSSemAccept (OS_EVENT *pevent) // 无等待的请求信号量
(2)OS_EVENT *OSSemCreate (INT16U cnt)
(3)OS_EVENT *OSSemDel (OS_EVENT *pevent, INT8U opt, INT8U *err)
(4)void OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *err)
(5)INT8U OSSemPost (OS_EVENT *pevent) // 发送(释放)信号量
(6)INT8U OSSemQuery (OS_EVENT *pevent, OS_SEM_DATA *pdata)
八、OS_TASK.C
(1)INT8U OSTaskChangePrio (INT8U oldprio, INT8U newprio)
(2)INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos,
INT8U prio)
(3)INT8U OSTaskCreateExt (void
(4)INT8U OSTaskDel (INT8U prio)
(5)INT8U OSTaskDelReq (INT8U prio)
(6)INT8U OSTaskResume (INT8U prio)
(7)INT8U OSTaskStkChk (INT8U prio, OS_STK_DATA *pdata)
(8)INT8U OSTaskSuspend (INT8U prio)
(9)INT8U OSTaskQuery (INT8U prio, OS_TCB *pdata) // 任务的查询
九、OS_TIME.C
(1)void OSTimeDly (INT16U ticks)
(2)INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli)
(3)INT8U OSTimeDlyResume (INT8U prio)
(4)INT32U OSTimeGet (void)
(5)void OSTimeSet (INT32U ticks)
注:INT32U OSTime ,全局变量,用以记录系统发生的时钟节拍。