freertos 学习记录

1.同优先级的任务时交替执行

2.在默认的调度机制下,高优先级的任务先执行。如果高优先级的任务没有主动放弃执行的话,其他低优先级的任务得不到执行。

3.使用同一个任务函数,可以创建多个多个任务。每个任务都有自己的栈空间,所以每个任务可以相互不影响。

4.

Event:中断、其他任务

4.1)阻塞状态(Blocked):等待某一件事情发生

母亲在电脑前跟同事沟通时,如果同事一直没回复,那么母亲的工作就被卡住了、被堵住了、处于阻塞状态(Blocked)。重点在于:母亲在等待

1)时间相关的事件

可以等待一段时间:我等2分钟

也可以一直等待,直到某个绝对时间:我等到下午3点

2)同步事件:这事件由别的任务,或者是中断程序产生

例子1:任务A等待任务B给它发送数据

例子2:任务A等待用户按下按键

同步事件的来源有很多(这些概念在后面会细讲):

队列(queue)

二进制信号量(binary semaphores)

计数信号量(counting semaphores)

互斥量(mutexes)

递归互斥量、递归锁(recursive mutexes)

事件组(event groups)

任务通知(task notifications)

4.2)暂停状态(Suspended):存粹的休息

在日常生活的例子中,母亲正在电脑前跟同事沟通,母亲可以暂停:

好烦啊,我暂停一会

领导说:你暂停一下

要退出暂停状态,只能由别人来操作:

别的任务调用:vTaskResume

中断程序调用:xTaskResumeFromISR

4.3)就绪状态(Ready)

这个任务完全准备好了,随时可以运行:只是还轮不到它。这时,它就处于就绪态(Ready)。

5.同步与互斥的概念

在团队活动里,同事A先写完报表,经理B才能拿去向领导汇报。经理B必须等同事A完

成报表,AB之间有依赖,B必须放慢脚步,被称为同步。在团队活动中,同事A已经使用会议室了,经

理B也想使用,即使经理B是领导,他也得等着,这就叫互斥。

猜你喜欢

转载自blog.csdn.net/weixin_44981087/article/details/129190030
今日推荐