
├── day01
│ ├── 01_freeRTOS简介
│ ├── 02_freeRTOS调度机制
│ ├── 03_freeRTOS切换任务机制
│ ├── 04_准备项目模板
│ ├── 05_完成freeRTOS的移植
│ ├── 06_使用freeRTOS的软件结构
│ ├── 07_使用freeRTOS创建第一个任务
│ ├── 08_使用freeRTOS和裸机开发的区别
│ ├── 09_不同优先级和相同优先级的任务调度
│ └── 10_freeRTOS总结
├── day02
│ ├── 01_每日一考
│ ├── 02_静态创建task任务
│ ├── 03_删除任务使用演示
│ ├── 04_任务的挂起和恢复
│ ├── 05_添加临界区构建原子化操作
│ ├── 06_内容总结
│ ├── 07_挂起调度器和进入临界区的区别
│ ├── 08_查看和设置优先级
│ ├── 09_获取任务数量
│ ├── 10_获取任务句柄
│ ├── 11_获取任务状态和最小剩余空间
│ ├── 12_获取任务运行时间函数演示
│ └── 13_获取任务的状态结构体
├── day03
│ ├── 01_每日一考
│ ├── 02_延时函数选择使用
│ ├── 03_消息队列介绍
│ ├── 04_使用轮询完成数据交互
│ ├── 05_使用队列完成数据读写
│ ├── 06_队列存放复杂结构
│ ├── 07_信号量介绍
│ ├── 08_使用轮询接收串口数据会大量占用CPU
│ ├── 09_使用信号量实现最小占用CPU的串口接收
│ ├── 10_使用相同串口的资源争抢
│ ├── 11_使用二值信号量管理串口资源互斥
│ ├── 12_使用互斥信号量解决优先级翻转问题
│ └── 13_计数型信号量实现按3次led闪烁
├── day04
│ ├── 01_每日一考
│ ├── 02_多个队列的使用方法
│ ├── 03_单个队列的使用方法
│ ├── 04_使用串口队列接收串口数据点亮LED灯
│ ├── 05_队列集统一管理队列操作
│ ├── 06_队列集的底层实现
│ ├── 07_事件标志组介绍
│ ├── 08_事件标志组演示
│ ├── 09_任务通知介绍
│ ├── 10_使用任务通知替代二值信号量
│ └── 11_任务通知替代事件通知组
└── day05
├── 01_每日一考
├── 02_软件定时器介绍
├── 03_软件定时器的使用
├── 04_软件定时器的及时控制
├── 05_低功耗模式介绍
├── 06_低功耗模式源码解析
├── 07_内存管理方案HEAP1
├── 08_内存管理方案总结
├── 09_查看剩余内存方法
└── 10_总结freeRTOS