📚 FreeRTOS 信号量
避坑指南 · 30章
🎯 从入门到专家
🧩 实战 + 原理
⚡ 友好色系
⏱️ 完整目录 · 点击跳转
01
信号量基础概念
计数值与任务阻塞列表 · 本质
↗
02
二值信号量
Give/Take · 任务同步场景
↗
03
计数型信号量
资源管理 · 与二值区别
↗
04
互斥信号量
优先级继承 · 保护共享资源
↗
05
递归互斥信号量
递归函数保护 · 与普通区别
↗
06
信号量API详解 (上)
CreateBinary/CreateCounting/...
↗
07
信号量API详解 (中)
Give/Take · FromISR 系列
↗
08
信号量API详解 (下)
GetCount/Delete/GetMutexHolder
↗
09
任务同步实战
生产者-消费者 · 事件通知对比
↗
10
资源管理实战
停车场模型 · 缓冲区管理
↗
11
互斥访问实战
保护共享变量/外设/动态内存
↗
12
中断与信号量
GiveFromISR · 中断延迟性能
↗
13
信号量与队列对比
异同 · 选择策略 · 混合使用
↗
14
优先级反转问题
危害 · 互斥优先级继承
↗
15
死锁问题
四个必要条件 · 避免与检测
↗
16
信号量泄漏问题
动态/静态创建 · 内存泄漏检测
↗
17
中断上下文陷阱
Take/Give注意事项 · 临界区
↗
18
任务优先级与信号量
优先级继承局限性 · 设计建议
↗
19
超时参数设置
xTicksToWait · portMAX_DELAY陷阱
↗
20
静态分配与动态分配
Static创建 · 内存碎片问题
↗
21
信号量调试技巧
uxSemaphoreGetCount · Trace工具
↗
22
多核环境下的信号量
SMP FreeRTOS · 原子操作
↗
23
低功耗模式与信号量
Tickless模式 · 定时器配合
↗
24
信号量性能优化
事件组替代 · 减少上下文切换
↗
25
常见错误模式 (上)
未初始化/中断Take/计数值溢出
↗
26
常见错误模式 (下)
删除未释放 · 递归互斥误用
↗
27
信号量测试方法
单元测试 · 压力测试 · 断言
↗
28
物联网项目应用
MQTT同步 · 传感器采集 · 重连
↗
29
电机控制项目应用
PWM同步 · 编码器保护 · 多轴
↗
30
信号量最佳实践总结
决策树 · 编码规范 · FAQ
↗