FreeRTOS|FreeRTOS列表和列表项野史趣闻
2018-09-15 19:00:31

要想看懂 FreeRTOS 源码并学习其原理,有一个东西绝对跑不了,那就是 FreeRTOS 的列表和列表项。列表和列表项是FreeRTOS 的一个数据结构,FreeRTOS 大量使用到了列表和列表项,它是 FreeRTOS 的基石。
- 列表:
列表是 FreeRTOS 中的一个数据结构,概念上和链表有点类似,列表被用来跟踪 FreeRTOS中的任务。列表结构为List_t,在文件list.h中有如下定义:以下是我在一本书上摘抄出来的内容,感觉说的挺详细的。

- 列表项:
列表项,列表的项目。列表项有两种:列表项(ListItem_t)和迷你列表项(MiniListItem_t),这两个列表项在list.h中有定义:



- 迷你列表项


- 列表项相关API函数如下表所示:

试验目的
学习使用 FreeRTOS 列表和列表项相应的操作函数的使用。
试验设计
本实验设计 3 个任务: start_task、 task1_task 和 list_task,这三个任务的任务功能如下:
start_task:用来创建其他 2 个任务。
task1_task:应用任务 1,控制 LED0 闪烁,用来提示系统正在运行。
task2_task:列表和列表项操作任务,调用列表和列表项相关的 API 函数,并且通过串口输出相应的信息来观察这些 API 函数的运行过程。
框架代码

喜欢我文章的朋友,欢迎关注、分享、点赞、评论。
本文作者:小5嵌入式(今日头条)