韦东山freeRTOS系列教程:FreeRTOS的内部机制_哔哩哔哩_bilibili
11 队列实现互斥访问
12 队列第二个好处 提高CPU效率 休眠唤醒
任务B直接进入休眠态
13队列核心 关中断 环形缓冲
如何唤醒
P14 队列结构体及读操作
有数据后唤醒任务还需要唤醒下阻塞着的写操作
P15 队列写数据
P16 队列超时唤醒
系统tick会自加,加到一定值,从delaylist到就绪态,真正去判断下
P17 信号量
队列的封装
计数型和二值型
P18 信号量操作流程
P19 互斥量与优先级反转
互斥量比二值信号量的好处在于优先级继承,也是个队列
高优先级被中等优先级任务卡死,因为低任务拿着信号量
解决方法:提升优先级
P21 事件组 bit 突出协作
不会在中断中使用事件组
22 事件组为什么不关中断
在set时会唤醒所有等待的任务,所以不能在中断中直接set,
P23 任务通知
从v8.2.0版本开始,FreeRTOS新增了任务通知(Task Notifictions)这个功能,可以使用任务通知来代替信号量、消息队列、事件标志组等这些东西
P24软件定时器
freertos的计时器效率不高在这,因为不知道处理函数的市场,所以又做了个守护进程
P26 中断机制-两套API
P25中断-两类中断
P26中断机制-优先级
可以打断,什么时候打断
P27临界资源
关闭中断、屏蔽器