1、任务挂起函数OSTaskSuspend (&AppTaskTCB, & err )
可将对应任务挂起,使其进入阻塞状态,前一个参数为NULL时,将挂起调用此函数的任务本身
2、任务恢复函数OSTaskResume ( &AppTaskTCB, & err )
可将对应任务恢复,使其进入就绪状态
3、任务删除函数OSTaskDel( &AppTaskTCB, & err )
可将对应任务删除,前一个参数为NULL时,将挂起调用此函数的任务本身
4、任务延时函数OSTimeDly (OS_TICK dly, OS_OPT opt, OS_ERR *p_err)
OS_TICK 延时节拍数
OS_OPT 延时的可选选项:
#define OS_OPT_TIME_DLY DEF_BIT_NONE (1)
#define OS_OPT_TIME_TIMEOUT ((OS_OPT)DEF_BIT_01) (2)
#define OS_OPT_TIME_MATCH ((OS_OPT)DEF_BIT_02) (3)
#define OS_OPT_TIME_PERIODIC ((OS_OPT)DEF_BIT_03)(4)
(1):OS_OPT_TIME_DLY:dly 为相对时间,就是从现在起延时多长
时间,到时钟节拍总计数 OSTickCtr = OSTickCtr 当前 + dly 时延时结束。
(2):OS_OPT_TIME_TIMEOUT:跟 OS_OPT_TIME_DLY 的作用情
况一样。
(3):OS_OPT_TIME_MATCH:dly 为绝对时间,就是从系统开始运行
(调用 OSStart())时到节拍总计数 OSTickCtr = dly 时延时结束。
(4):OS_OPT_TIME_PERIODIC:周期性延时,跟 OS_OPT_TIME_DLY
的作用差不多,如果是长时间延时,该选项更精准一些。
OS_ERR 存放返回错误代码
5、直观任务延时函数
OSTimeDlyHMSM (CPU_INT16U hours,
//
延时小时数
CPU_INT16U minutes,
//
分钟数
CPU_INT16U seconds,
//
秒数
CPU_INT32U milli,
//
毫秒数
OS_OPT opt,
//
选项
它多了几个可选项:
#define OS_OPT_TIME_HMSM_STRICT ((OS_OPT)DEF_BIT_NONE)(5)
#define OS_OPT_TIME_HMSM_NON_STRICT ((OS_OPT)DEF_BIT_04)(6)
(5)OS_OPT_TIME_HMSM_STRICT
延时时间取值比较严格:
– 小时数 hours:(0-99)
– 分钟数 minutes:(0-59)
– 秒数 seconds:(0-59)
– 毫秒数 milliseconds:(0-999)
(6)OS_OPT_TIME_HMSM_NON_STRICT
延时时间取值比较宽松。
– 小时数 hours:(0-999)
– 分钟数 minutes:(0-9999)
– 秒数 seconds:(0-65535)
– 毫秒数 milliseconds:(0-4294967295)
使用此函数需要在os_cfg.h中把OS_TIME_DLY_HMSM_EN置为1