学习笔记——FreeRTOS 列表以及列表项的相关知识

列表作用:用于追踪freeRTOS的任务

列表:
定义方法:List_t ****;
列表的成员变量:(不包括列表的完整性检测)

	uxNumbersOfItems 	//用于记录列表项的数量
	pxIndex			//用于记录当前列表项的索引号用于遍历列表
	xListEnd			//列表中最后一个列表项

列表项:
定义方法:ListItem_t ***;
列表项成员变量:(不包括列表项完整性的检测变量)

	xItem value  //列表项的值
	pxNext	//指向下一个列表项
	pxPrevious	//指向上一个列表项
	pvOwner		//列表项的所有者(通常为人物控制块)
	pvContainer	//记录列表项归属于哪一个列表

迷你列表项成员变量:(不包括列表项完整性检测的成员变量)

	xItem value  	//列表项的值
	pxNext		//指向下一个列表项
	pxPrevious	//指向上一个列表项

列表和列表项初始化用到的函数:

	void vListInitialise( List_t * const pxList )	 	//列表初始化 、参数为列表
	void vListInitialiseItem( ListItem_t * const pxItem )  	//列表项初始化、参数为列表项

列表项的插入相关函数:

	void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem )     //参数一:被插入的列表   参数二:插入的列表项

注意:插入的位置由列表项中的值按照升序的方式排列
eg:
第一步:插入值为40的列表项在这里插入图片描述

第二步:插入值为60的列表项在这里插入图片描述

第三步:插入值为50的列表项
在这里插入图片描述

可以看到插入的位置由值的大小升序排列而成。

列表项末尾插入

	void vListInsertEnd( List_t * const pxList, ListItem_t * const pxNewListItem )	//参数一:要插入的列表 参数二:要插入的列表项

末尾插入与普通插入的不同之处:
默认列表:

在这里插入图片描述

插入值为50的列表项:
在这里插入图片描述

可以看到列项直接插入到列表的末尾,而不需要进行升序排序。

列表项删除:

UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) //参数为需要删除的列表项  返回值删除后剩下的列表项
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值