os_wait1

所属模块:时间管理 | 类型:快速延时函数

函数简介

os_wait1 用于实现快速延时,并通过触发定时器溢出强制执行任务调度。

相比标准延时函数,该接口开销更低, 适用于对实时性要求较高但精度要求相对宽松的场景。

函数原型

void os_wait1(u8 ticks) reentrant;

参数说明

参数 说明
ticks 等待时间(单位:时间片)

返回值

无返回值。

源码实现

void os_wait1(u8 ticks) reentrant { OS_PEOCESS_OK[OS_YUNXING_BIANHAO] &= 0xFE; OS_WAIT_DI[OS_YUNXING_BIANHAO] = ticks; OS_WAIT_INT = 1; // 强制触发调度 OS_TIME_XY = OS_TIME_ONCE - 1; TH0 = 0xFF; TL0 = 0xFF; __asm NOP }

使用示例

void task1() { while(1) { // 快速延时 os_wait1(5); // 执行任务逻辑 } }

注意事项

该函数依赖定时器溢出触发调度,延时精度受当前系统节拍影响, 不适用于高精度时间控制场景。

相关推荐