实时调度演示
HRTOS v2 的实时性建立在 Tick 驱动 + WAIT恢复机制之上, 任务在周期性 WAIT/READY 切换中形成可预测执行节奏。
实时模型定义(v2)
Real-Time = Tick驱动 + WAIT周期阻塞 + READY窗口执行
核心API: os_delay · os_ms_to_tick · os_tick_get · os_wait
执行行为
RUNNING阶段
任务占用CPU执行逻辑
WAIT阶段
调用 os_delay 进入阻塞队列
Tick恢复
系统Tick递减等待计数
READY重新调度
恢复后进入READY队列等待执行
调度链路:Tick → WAIT计数更新 → READY恢复 → os_dispatch → os_switch
演示代码
#include "hrtos.h"
sbit LED_RT = P1^0;
void task_rt(void)
{
while(1)
{
LED_RT = 1; // 运行窗口
os_delay(10); // 模拟实时执行窗口
LED_RT = 0; // 等待周期
os_delay(40);
}
}
void hrtos_main(void)
{
LED_RT = 0;
os_task_create((unsigned int)task_rt, 1, 2, 5);
}
系统意义
实时性在 HRTOS v2 中不依赖独立调度器,而由 Tick + WAIT恢复机制共同保证执行节奏稳定性。