P.3 实验:裸机 GPIO(无 OS)
L0-3
学习目标
GPIO 翻转加上忙等延时,看似闪烁,实际上 CPU 一直在空转计数;这是没有调度器时唯一的「延时」办法。
- GPIO 输出:配置方向后写 0/1,电平变化可在仿真板上看到。
- 忙等用循环消耗 CPU 周期来凑延时,期间什么任务都插不进来。
- 忙等占用全部 CPU,也无法同时「延时还要看按键」。
- 第三章的 LOS_TaskDelay 会将任务挂起并将 CPU 让予其他任务——对比本课方能理解 Delay 的价值。
代码导读
本课在工作台编译烧录。先读 user 实验入口,再对照 kernel / HDF 中被调用的函数,不要一上来改链接脚本。
总结与提升
- 能解释忙等延时为什么占用 CPU。
- 能口头对比:本课延时与后面任务 Delay。
延伸思考
- 把延时做成阻塞,至少需要 OS 提供时钟、阻塞队列和调度中的哪几样?
- 在实时系统里,长时间忙等会破坏什么指标?