如何制定一个系统学习FreeRTOS的策略

2021-09-30 10:55发布

我想在ESP32开发板学习FreeRTOS编码。为此,我在笔记本上安装了Arduino IDE。我已经从FreeRTOS网站下载了用户手册API文档和PC示例代码。首先,我尝试在VisualStudio中运行示例代码,然后我从电脑搬到了ESP 32。

之后,我为ESP 32编写了一些代码,在这些代码中,我检查了任务优先级相同时发生了什么,任务优先级不同时发生了什么,任务处于块状态时发生了什么。

我不明白如何准备下一个学习FreeRTOS的策略。我应该先做哪些简单的工作,然后再转到更难学的任务呢?

如果您想学习FreeRTOS,那么您打算如何学习?。您想通过编写代码来检查结果的10个任务是什么?您会在代码中测试每个API还是为特定任务编写代码?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
人活着为了什么
2021-09-30 16:30

这有点简单,中断编程并不是一个真正的FreeRTOS问题;我不知道你会从中得到多少“RTOS”的经验,但是可以试一试。


但是FreeRTOS不仅仅是实时的,它还涉及到处理多个并行、合作甚至竞争的任务和资源。


你不需要大量的硬件来进行实验。如果有的话,只要几个LED和按键就够了。我的学生使用的例子之一是6个LED和4个按键,并模拟十字路口的交通灯。我们首先将其作为一个状态机执行,然后作为4个独立任务运行自己的状态机,并使用总体主定时器中断。


另一个“没有硬件”的例子是实现传统的生产者-消费者模式。生产者任务以随机间隔的方式创建具有不同优先级的消息,放入一个或多个环形缓冲区。使用者任务移除它们并按优先级进行处理。为了让事情变得更“有趣”,高优先级的消息通过wifi发送回主机,而低优先级的消息则通过串行发送。实现这一点的方法有很多;关于消费者任务如何在单个环缓冲区上处理优先级的讨论和决策可能会非常激烈!


按下并释放按键的按钮打开和关闭的次数,数了很多次,在退欧期间,按键是否打开和关闭对我来说是关键的时间任务。


一周热门 更多>