μC/OS-III——时间管理

时间服务用户程序接口概览

1. OSTimeDly():

        该函数有三种模式:相对模式周期模式绝对模式

1)相对模式


OSTimeDly()——相对模式

        相对模式下,(1)处时钟节拍中断处理,(2)处中断结束开始运行高优先级任务,(3)处运行完成切换到低优先级任务中运行,(4)处低优先级任务调用OSTimeDly() 延时函数以“相对模式”延时2个时钟节拍,在(7)处延时结束。

        “相对模式”在系统负荷较重时有可能延时会少一个节拍,甚至偶尔差多个节拍

2)周期模式


OSTimeDly()——周期模式

在“周期模式”下,任务仍可能会被推迟执行,但它总会和预期的“匹配值”同步,因此,推荐使用“周期模式”来实现长时间运行的周期性延时

3)绝对模式

        “绝对模式”可用来在上电后指定的时间执行具体的动作。如,在产品上电 10s 后关闭某盏灯。

2. OSTimeDlyHMSM():

        延时长度通过“小时/分/秒/毫秒”指定,该函数仅在“相对模式”下工作

3. OSTimeTick():

        每次时钟节拍中断到来时,中断服务函数必须调用该函数。μC/OS-III通过该函数来更新任务的延时和超时,一些其他的系统调用需要用到任务的延时和超时状态。

你可能感兴趣的:(μC/OS-III——时间管理)