os_wait1
所属模块:时间管理 | 类型:快速延时函数
函数简介
os_wait1 用于实现快速延时,并通过触发定时器溢出强制执行任务调度。
相比标准延时函数,该接口开销更低,
适用于对实时性要求较高但精度要求相对宽松的场景。
函数原型
void os_wait1(u8 ticks) reentrant;
源码实现
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);
// 执行任务逻辑
}
}
注意事项
该函数依赖定时器溢出触发调度,延时精度受当前系统节拍影响,
不适用于高精度时间控制场景。