⏱️ FreeRTOS 定时器
软件定时器·设计与调试
🧑🎓
风格 · 30章
01
FreeRTOS 概述
什么是FreeRTOS
特点
应用场景
对比其他RTOS
02
任务创建与管理
任务概念
任务状态
优先级
xTaskCreate
vTaskDelete
03
任务调度机制
抢占式调度
时间片轮转
空闲任务
任务切换
04
队列 (Queue)
工作原理
队列创建
发送与接收
阻塞机制
05
信号量 (Semaphore)
二值信号量
计数信号量
互斥信号量
递归互斥
06
事件组 (Event Group)
事件组概念
事件组创建
设置与等待
与信号量区别
07
任务通知
任务通知优势
通知函数
与队列/信号量对比
08
软件定时器基础
软件定时器概念
与硬件定时器区别
应用场景
09
定时器创建与启动
xTimerCreate
xTimerStart
xTimerStop
10
定时器回调函数
回调定义
执行上下文
注意事项
11
定时器周期模式
单次模式
周期模式
模式切换
12
定时器状态机
休眠态
运行态
阻塞态
状态转换图
13
定时器命令队列
命令队列作用
工作原理
深度配置
14
定时器守护任务
守护任务概念
优先级
堆栈配置
15
定时器精度分析
分辨率
定时器漂移
影响因素
16
定时器资源管理
数量限制
内存占用
定时器ID
17
定时器调试方法
vTaskList
uxTimerGetTimerID
xTimerIsTimerActive
18
定时器常见错误
回调中阻塞
句柄无效
溢出问题
19
定时器与任务同步
触发任务
与信号量配合
与队列配合
20
定时器实战
LED闪烁
按键消抖
超时检测
21
定时器高级应用
定时器链
动态管理
定时器池
22
定时器性能优化
减少回调时间
合理配置周期
避免频繁创建
23
低功耗中的应用
Tickless模式
定时器唤醒
功耗优化
24
与硬件定时器协同
硬件时间基准
软件扩展
混合案例
25
通信协议中的应用
超时重传
心跳包
定时轮询
26
传感器采集应用
定时采样
数据聚合
触发上报
27
GUI 中的应用
界面刷新
动画控制
输入检测
28
调试工具
Tracealyzer
FreeRTOS+Trace
printf调试
29
常见问题排查
定时器不触发
触发异常
资源耗尽
30
综合项目实战
智能家居控制系统
基于软件定时器