UCOSIII笔记2-常用API函数的使用

本文详细介绍了实时操作系统中任务管理的四个关键函数:任务挂起、任务恢复、任务删除和任务延时。任务挂起和恢复用于控制任务的执行状态,任务删除则允许永久移除任务。任务延时函数提供了不同选项,如相对延时、绝对延时和周期性延时,以满足不同场景的需求。此外,还特别提到了使用OS_TimeDlyHMSM函数进行直观的小时、分钟、秒和毫秒延时,并讨论了其严格和非严格模式的取值范围。
摘要由CSDN通过智能技术生成

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值