os_delay

所属模块:任务管理 | 类型:任务延时函数

API Metadata

函数ID:os_delay
模块:task
类型:delay control
嵌套深度:2

函数简介

os_delay 用于使当前任务进入延时等待状态。

任务会在指定 tick 时间后由系统调度器自动唤醒,重新进入就绪状态。

该接口基于统一等待机制 os_wait 实现,是任务延时的基础API之一。

函数原型

void os_delay(u16 tick);

参数说明

参数 说明
tick 延时的系统节拍数

返回值

无返回值。

源码实现

void os_delay(u16 tick) { /* 0 tick 直接返回 */ if(tick != 0) { /* 当前任务合法性检查 */ if(OS_CURRENT_TASK < OS_PROCESS_MAX+2) { /* 进入统一等待核心 */ os_wait(WAIT_DELAY, OS_INVALID_ID, tick); } } }

使用示例

void task_demo() { os_delay(10); // 延时10个tick }

注意事项

tick 为系统节拍单位,不同系统配置下对应的实际时间长度可能不同。 建议结合 os_ms_to_tick 使用。

相关推荐