当前位置: 代码迷 >> 综合 >> ucos-iii学习之时间管理
  详细解决方案

ucos-iii学习之时间管理

热度:32   发布时间:2023-09-19 06:37:26.0

与时间服务相关的API总结
ucos-iii学习之时间管理
1.OSTimeDly()
任务调用这个函数后就会被挂起直到期满。这个函数可以有三种模式:相对延时模式,周期性延时模式,绝对定时模式。
(1)相对延时模式
任务每次执行时都会被延时大约2毫秒。当任务在时基中断将要到来时被挂起,那么实际的延时时基会少一个时基。
(2)周期性延时
任务设置匹配值决定了任务被唤醒的周期。当匹配值等于OSTickCtr时,任务被唤醒。
与相对延时一样,他们都可能丢失一个时基当有高优先级任务被执行很长时间时。
(3)绝对定时模式
设置 OSTickCtr 值为10 乘以时基频率。
2.OSTimeDlyHMSM()
这个函数只在相对延时模式下运行。可以设置为小时,分钟,秒,毫秒。
3.OSTimeDlyResume()
任务可以调用 OSTimeDlyResume() 恢复其它被 OSTimeDly() 或OSTimeDlyHMSM() 延 时 的 任 务 。
4.OSTimeGet()与OSTimeSet()
OSTimeGet()能获得时基计数值。OSTimeSet()允许用户设置时基计数值。
5.OSTimeTick()
当时基发生中断时,时基ISR必须调用这个函数。这个函数更新时基函数值。