📱 充电宝租借系统

🎯 RTOS 任务调度实战 30章
🧩 FreeRTOS 🔋 低功耗 📡 队列/信号量
1
RTOS基础概念
什么是RTOS · 充电宝为什么需要RTOS · 任务与调度基本概念
2
任务状态机
就绪态·运行态·阻塞态·挂起态 · 状态转换图
3
任务创建与删除
FreeRTOS创建API · 参数传递 · 删除注意事项
4
任务优先级
优先级分配策略 · 反转问题 · 继承机制
5
任务调度算法
时间片轮转 · 抢占式 · 协作式 · 充电宝场景选择
6
空闲任务
空闲任务职责 · 钩子函数 · Tickless低功耗
7
任务延时
vTaskDelay vs vTaskDelayUntil · 时间精度控制
8
队列基础
创建·发送·接收 · 充电宝扫码指令传递
9
队列进阶
队列集 · 超时 · 多任务等待队列处理
10
信号量
二值信号量 · 计数信号量 · 弹出/收回事件通知
11
互斥量
与二值信号量区别 · 递归互斥量 · 死锁预防
12
事件组
事件标志位 · 多事件同步 · 多传感器联合触发
13
任务通知
轻量级IPC · 通知值操作 · 替代信号量和队列
14
软件定时器
一次性/周期性定时器 · 充电超时计费
15
内存管理
heap_1~heap_5 · 内存碎片 · 静态/动态分配
16
中断管理
中断优先级 · Bottom Half · 中断中发送信号量
17
临界区与同步
taskENTER_CRITICAL · 挂起调度器 · 无锁编程
18
充电宝系统需求分析
功能需求(租借/归还/计费) · 非功能需求(实时/低功耗)
19
系统任务划分
主控·扫码·计费·通信·电量监测任务
20
任务优先级设计
根据实时性分配 · 紧急任务(弹出)高优先级
21
扫码任务实现
模拟扫码枪 · 队列传递二维码数据 · 解析指令
22
弹出机构控制任务
GPIO电磁锁 · PWM电机 · 状态反馈
23
计费任务实现
时间戳记录 · 费率计算 · Flash存储计费记录
24
电量监测任务
ADC采集电池电压 · 低电量告警 · 状态上报
25
通信任务
UART/SPI与上位机 · 心跳包 · 指令解析
26
看门狗与系统监控
独立看门狗 · 任务看门狗 · 异常恢复
27
低功耗设计
Tickless模式 · 外设时钟门控 · 睡眠/停止切换
28
调试与性能分析
任务栈使用率 · CPU负载 · Tracealyzer工具
29
系统集成测试
任务间通信测试 · 压力测试 · 边界条件
30
项目总结与优化
常见问题复盘 · 性能调优 · 未来扩展(OTA)