毛文龙战绩知乎:uc/os—II下的九个C语言文件功能函数大全(三)

来源:百度文库 编辑:偶看新闻 时间:2024/05/08 09:30:47
uc/os—II下的九个C语言文件功能函数大全(三)2008-4-22 10:24:00

七、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   (*task)(void *pd),   // 指向任务的指针

                        void    *pdata,          // 传递给任务的参数

                        OS_STK  *ptos,         // 指向任务堆栈栈顶的指针

                        INT8U    prio,          // 创建任务的优先级

                        INT16U   id,            // 任务的标识

                        OS_STK  *pbos,         // 任务堆栈栈底的指针

                        INT32U   stk_size,       // 任务堆栈的长度

                        void    *pext,           // 指向附加数据域的指针

                        INT16U   opt)          // 用于设定操作的选项

                         // 任务的另一种创建函数,更加灵活,但也增加了额外的开销

(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)              // 获取OSTime 值

(5)void  OSTimeSet (INT32U ticks)          // 设置 OSTime 值

注:INT32U  OSTime                  // 全局变量,用以记录系统发生的时钟节拍