5.0-uC/OS-III时间管理

1.时间管理

uC/OS-III为用户提供了与时间管理相关的服务。 

uC/OS-III中设置了能提供时基中断的中断源。该中断源提供 10Hz 1000Hz 之间的中断(需设置OS_CFG_APP.H中的 OS_CFG_TICK_RATE_HZ为中断源提供的频率)。然而,频率越高, CPU额外的消耗就越多。 

2.uC/OS-III提供了一些与时间相关的函数如表 11-1,这些代码在OS_TIME.C 

(1).OSTimeDly()

任务调用这个函数后就会被挂起直到期满。这个函数可以有三种
模式:相对延时模式,周期性延时模式,绝对定时模式。 

(2).OSTimeDlyHMSM()

任务可以调用这个函数为任务设置延时,这个函数更“ 友好” 于
用户。特别的,可以设置为小时,分钟,秒,毫秒( HMSM由此四
个英文首字母得来)。这个函数只在相对延时模式下运行。 

(3).OSTimeDlyResume()

任务可以调用 OSTimeDlyResume()恢复其它被 OSTimeDly()
OSTimeDlyHMSM()延时的任务。

(4).OSTimeSet()和OSTimeGet()

每个时基中断发生时uC/OS-III会递增时基计数值。通过这个计数
值能大概看出系统上电后经过了多长时间。
OSTimeGet()能获得时基计数值。
OSTimeSet()允许用户设置时基计数值。虽然uC/OS-III允许这种
操作,但调用这个函数时需慎重。 

(5).OSTimeTick()

当时基中断发生时, 时基ISR必须调用这个函数。 uC/OS-III用这
个函数更新时基计数值。 OSTimeTick()uC/OS-III的内部函数。 

 

posted @ 2018-07-28 21:10  西贡小傻  Views(246)  Comments(0Edit  收藏  举报