listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE用于检查链表数据的完整性,当configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES==1是需要自己设置为已知值。 xMINI_LIST_ITEM比xLIST_ITEM少2个用于指向节点所属链表和所属内核对象的指针参数,也没有listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE。 typedefstructxLIST{listFIRST_LIS...
BaseType_txTaskRemoveFromEventList(constList_t*constpxEventList){TCB_t*pxUnblockedTCB;BaseType_txReturn;/* 获取要解除阻塞任务的任务控制块 */pxUnblockedTCB=listGET_OWNER_OF_HEAD_ENTRY(pxEventList);configASSERT(pxUnblockedTCB);/* 将任务的xEventListItem链表项从事件等待任务链表上移除 */listREMOVE_ITE...
即数据在队列末尾(tail)被写入,在队列前部(head)移出。相比而言,栈(Stack)也是一种数据结构,栈...
除此之外,还专门定义缩减的list item,用于表示链表结构中的首尾链接item, xMINI_LIST_ITEM前面字节定义和xLIST_ITEM一致,可以直接转型为xLIST_ITEM,以读取链表的首尾元素。 xMINI_LIST_ITEM在别的地方没有使用,可能仅仅是为了减少内存占用。 以上出自:http://www.tk4479.net/jorhai/article/details/65455328 ...
第一个和对后一个这两个跟节点用法一样,都是用来检查链表完整性的,需要将宏listFIRST_LIST_INTEGRITY_CHECK_VALUE设置为 1,开启以后会向这两个地方分别添加一个变量xListIntegrityValue1 和xListIntegrityValue2,在初始化列表的时候会这两个变量中写入一个特殊的值,默认不开启这个功能。在学习列表的时候不讨论这个...
一、FreeRTOS的列表和列表项简介 1.1、FreeRTOS的列表 列表是 FreeRTOS 中最基本的一种数据结构,其在物理存储单元上是非连续、非顺序的。FreeRTOS 中的列表是一个双向链表,在 list.h 文件中,有列表的相关定义,具体代码如下所示: typedef struct xL
BaseType_txReturn;/* 获取解除阻塞任务的任务控制块 */pxUnblockedTCB=listGET_OWNER_OF_HEAD_ENTRY(...
链表作为 C 语言中一种基础的数据结构,在平时写程序的时候用的并不多,但在操作系统里面使用的非常多。FreeRTOS 中存在着大量的基础数据结构链表和链表项的操作(list 和 list item)。FreeRTOS 中与链表相关的操作均在 list.h 和 list.c 这两个文件中实现。
List_t xTasksWaitingToSend;/*< List of tasks that are blocked waiting to post onto this queue. Stored in priority order. */List_t xTasksWaitingToReceive;/*这两个成员是任务列表,分别用于存储等待向队列发送数据和等待从队列接收数据的任务。这些列表按任务优先级顺序存储。*/volatileUBaseType_t uxMes...