list.c中主要完成列表数据结构的操作,有列表和列表项的初始化、列表的插入和移除。
2.1.1函数原型
void vListInitialise( List_t * const pxList )
2.1.2函数框架
简单来说,列表的初始化就是链表根节点的初始化,如图所示:
2.2.1函数原型
void vListInitialiseItem( ListItem_t * const pxItem )
2.2.2函数框架
使列表项pxItem->pxContainer=NULL,表示列表项没有所属的列表。
2.3.1函数原型
void vListInsertEnd( List_t * const pxList, ListItem_t * const pxNewListItem )
2.3.2函数框架
2.4.1函数原型
void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem )
2.4.2函数框架
vListInsert()与vListInsertEnd()不同之处在于,可以根据列表项中的value值大小,先和根节点(value值最大)开始比,再由value值小到大找,找到比新列表项value值大的第一个列表项,然后把新列表项插入到它的前面。
2.5.1函数原型
UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove )
2.5.2函数框架
更多【笔记-FreeRTOS源码阅读笔记2--list.c】相关视频教程:www.yxfzedu.com