列表和列表项是 FreeRTOS 的一个数据结构,FreeRTOS 大量使用到了列表和列表项。
一、什么是列表和列表项
1、列表
列表是 FreeRTOS 中的一个数据结构,被用来跟踪 FreeRTOS 中的任务。与列表相关的全部东西都在文件 list.c 和 list.h中。
List_t 结构体:
-
其中,listFIRST_LIST_INTEGRITY_CHECK_VALUE 和 listSECOND_LIST_INTEGRITY_CHECK_VALUE 都是用来检查列表完整性的,需要将宏 configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 设置为 1,开启以后会向这两个地方分别添加一个变量 xListIntegrityValue1 和 xListIntegrityValue2,在初始化列表的时候会这两个变量中写入一个特殊的值,默认不开启这个功能。
-
uxNumberOfItems 用来记录列表中列表项的数量。
-
pxIndex 用来记录当前列表项索引号,用于遍历列表。
-
xListEnd 列表中最后一个列表项,用来表示列表结束。