3、任务协作与通信
1)信号量OS_SEM.C
OSSemCreate()创建信号量
OSSemDel()删除信号量
OSSemQuery()查询信号量状态
OSSemPendAbort()等待该信号量的所有任务就绪
OSSemSet()设置信号量的值
OSSemPost()释放信号量
OSSemPend()请求信号量
2)互斥信号量OS_MUTEX.C
OSMutexCreate()创建一个互斥型信号量
OSMutexPend()/OSMutexAccept()请求互斥信号量,保护共享资源
OSMutexPost()释放互斥型信号量
OSMutexDel()删除互斥型信号量
OSMutexQuery()查询互斥信号量的信息
3)消息邮箱OS_MBOX.C
OSMboxCreate()创建一个消息邮箱
OSMboxPend()/OSMboxAccept()请求邮箱消息
OSMboxPendAbort()将使等待该邮箱的任务都放弃等待而进入就绪态
OSMboxPost()/OSMboxPostOpt()向邮箱发送一则消息
OSMboxDel()删除邮箱
OSMboxQuery()查询消息邮箱的信息
4)消息队列OS_Q.C
OSQCreate()创建消息队列
OSQPost()/OSQPostFront()/OSQPostOpt()释放消息至消息队列中
OSQPend()/OSQAccept()请求消息
OSQPendAbort()取消请求消息队列的任务的等待状态
OSQFlush()清空消息队列中的消息
OSQQuery()查询消息队列的信息
OSQDel()删除消息队列
5)事件标志OS_FLAG.C
OSFlagCreate()创建一个事件标志变量
OSFlagPost()释放事件标志
OSFlagPend()/ OSFlagAccept()请求事件标志
OSFlagPendGetFlagsRdy()获知事件标志满足的条件
OSFlagQuery()查询一个事件标志
OSFlagDel()删除一个事件标志
OSFlagNameSet()/OSFlagNameGet()
6)多事件处理请求
OSEventPendMulti()多事件一任务请求
OSSchedLock()/ OSSchedUnlock()给当前任务加锁或解锁