UCOS常用函数API

1、时间管理

OSTimeDly ():用于停止当前任务进行的运行,延时一段时间后再运行

OSTimeDlyHMSM ():函数与 OSTimeDly() 函数的功能类似,也是用于停止当前任务进行的运行,延时一段时间后再运行(OS_CFG_TIME_DLY_HMSM_EN =1u)

OSTimeDlyResume ():函数用于直接结束其他任务(非当前任务)的延时(OS_CFG_TIME_DLY_RESUME_EN =1u)

OSTimeGet ():函数用于获取当前的时钟节拍计数值

OSTimeSet ():函数用于设置当前的时钟节拍计数值

2、软件定时器

 

OSTmrCreate ():函数用于声明和创建软件定时器 

OSTmrStart ():函数用于启动软件定时器

OSTmrStop ():函数用于停止一个软件定时器 

OSTmrDel ():函数用于删除一个软件定时器

3、多值信号量

OSSemCreate ():函数用于声明和创建多值信号量

OSSemPost ():函数用于发布多值信号量

OSSemPend ():函数用于等待一个多值信号量

OSSemPendAbort ():函数用于中止任务对一个多值信号量的等待(OS_CFG_SEM_PEND_ABORT_EN )

OSSemDel ():函数用于删除一个多值信号量(OS_CFG_SEM_DEL_EN )

OSSemSet ():函数用于设置多值信号量的计数值(OS_CFG_SEM_SET_EN )

4、互斥信号量

OSMutexCreate ():函数用于创建多值信号量

OSMutexPost ():函数用于发布互斥信号量

OSMutexPend():函数用于等待互斥信号量OSMutexPendAbort()函数用于终止任务对一个互斥信号量的等待(OS_CFG_MUTEX_PEND_ABORT_EN =1u)

OSMutexDel():函数用于删除互斥信号量(OS_CFG_MUTEX_DEL_EN )

5、消息队列

 OSQCreate ():函数用于声明和创建消息队列

OSQPost ():函数用于向消息队列发布一个消息

OSQPend ():函数用于等待获取消息队列的消息

OSQPendAbort ():函数用于中止任务对一个消息队列的等待 (OS_CFG_Q_PEND_ABORT_EN )

OSQDel ():函数用于删除一个消息队列 (OS_CFG_Q_DEL_EN )

OSQFlush ():函数用于清空一个消息队列(OS_CFG_Q_FLUSH_EN )

6、任务信号量

OSTaskSemPost ():函数用于给一个任务发布任务信号量

OSTaskSemPend ():函数用于等待任务信号量

OSTaskSemPendAbort ():函数用于中止一个任务对其任务信号量的等待

7、任务消息队列

OSTaskQPost ():函数用于向任务消息队列发布一个消息

OSTaskQPend ():函数用于等待获取任务消息队列的消息

OSTaskQPendAbort ():函数用于终止任务对其任务消息队列的等待(OS_CFG_TASK_Q_PEND_ABORT_EN )

8、内存管理

 OSMemCreate ():函数用于创建一个内存管理对象

OSMemGet ():函数用于向内存管理对象获取一个空闲内存块

OSMemPut ():函数用于把内存块退还回内存管理对象(内存分区) 

9、任务管理

OSTaskCreate ():函数 用于创建一个任务

OSTaskSuspend ():函数用于挂起一个任务

OSTaskSuspend ():函数 用于恢复被挂起的任务

OSTaskChangePrio ():函数用于调整任务的优先级(OS_CFG_TASK_CHANGE_PRIO_EN )

OSTaskDel ():函数用于删除任务

9.1 时间片轮转调度

OSSchedRoundRobinCfg ():函数使能时间片轮转调度和配置相关指标(OS_CFG_SCHED_ROUND_ROBIN_EN

OSSchedRoundRobinYield ():函数用于任务放弃时间片的使用

OSTaskTimeQuantaSet ():函数用于设置任务的时间片

9.2 任务寄存器使用

OSTaskRegSet ():函数可以设置一个任务的任务寄存器的值

OSTaskRegGet ():函数可以获取一个任务的任务寄存器的值

10、中断管理

 OSIntEnter ():函数用于标记进入中断服务程序

 OSIntExit ():函数用于标记退出中断服务程序

10.1 关中断时间测量

 

还需要在程序初始化时调用CPU_Init()函数。

 CPU_IntDisMeasMaxGet () :函数用于获取整个程序目前最大关中断时间

 CPU_IntDisMeasMaxCurReset () :函数用于获取一个程序段的最大关中断时间

CPU_IntDisMeasMaxCurGet ():函数用于结束一个程序段的最大关中断时间 

11、统计信息

猜你喜欢

转载自www.cnblogs.com/Mike2019/p/12213781.html