没有合适的资源?快使用搜索试试~ 我知道了~
002-FreeRTOS202212-4001-链表头节点(根节点)初始化
需积分: 0 0 下载量 201 浏览量
2023-11-11
00:31:41
上传
评论
收藏 217KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/88523564/0001-9d353df4438745a1e720b95ee54ef3e3_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
2页
002-FreeRTOS202212-4001-链表头节点(根节点)初始化
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/88523564/bg1.jpg)
002‐FreeRTOS202212‐4001
链表头节点(根节点)初始化
/*链表头节点初始化*/
voidvListInitialise(List_t*constpxList)
{
/*将链表索引指针指向最后一个节点*/
pxList‐>pxIndex=(ListItem_t*)&(pxList‐>xListEnd);
/*将链表最后一个节点的辅助排序的值设置为最大,确保该节点就是链表的最后节点*/
pxList‐>xListEnd.xItemValue=portMAX_DELAY; //0xffffffffUL
/*将最后一个节点的pxNext和pxPrevious指针均指向节点自身,表示链表为空*/
pxList‐>xListEnd.pxNext=(ListItem_t*)&(pxList‐>xListEnd);
pxList‐>xListEnd.pxPrevious=(ListItem_t*)&(pxList‐>xListEnd);
/*初始化链表节点计数器的值为0,表示链表为空*/
pxList‐>uxNumberOfItems=(UBaseType_t)0U;
}
uxNumberOfItems
*pxIndex
ListItem_t
链表节点索引指针
UBaseType_t
链表节点计数器32bit
节点排序值
*pxNext
*pxPrevious
structxLIST_ITEM
structxLIST_ITEM
xMINI_LIST_ITEM(MiniListItem_t)
xItemValue
uint32_t/uint16_t(TickType_t)
xListEnd
xLIST(List_t)
链表头结点结构体
指向链表下一个节点
指向链表前一个节点
①
/*链表头节点初始化*/
voidvListInitialise(List_t*constpxList)
{
/*将链表索引指针指向最后一个节点*/
pxList‐>pxIndex=(ListItem_t*)&(pxList‐>xListEnd);
/*将链表最后一个节点的辅助排序的值设置为最大,确保该节点就是链表的最后节点*/
pxList‐>xListEnd.xItemValue=portMAX_DELAY; //0xffffffffUL
/*将最后一个节点的pxNext和pxPrevious指针均指向节点自身,表示链表为空*/
pxList‐>xListEnd.pxNext=(ListItem_t*)&(pxList‐>xListEnd);
pxList‐>xListEnd.pxPrevious=(ListItem_t*)&(pxList‐>xListEnd);
/*初始化链表节点计数器的值为0,表示链表为空*/
pxList‐>uxNumberOfItems=(UBaseType_t)0U;
}
uxNumberOfItems
*pxIndex
ListItem_t
链表节点索引指针
UBaseType_t
链表节点计数器32bit
节点排序值
*pxNext
*pxPrevious
structxLIST_ITEM
structxLIST_ITEM
xMINI_LIST_ITEM(MiniListItem_t)
xItemValue
uint32_t/uint16_t(TickType_t)
xListEnd
xLIST(List_t)
链表头结点结构体
指向链表下一个节点
指向链表前一个节点
②
/*链表头节点初始化*/
voidvListInitialise(List_t*constpxList)
{
/*将链表索引指针指向最后一个节点*/
pxList‐>pxIndex=(ListItem_t*)&(pxList‐>xListEnd);
/*将链表最后一个节点的辅助排序的值设置为最大,确保该节点就是链表的最后节点*/
pxList‐>xListEnd.xItemValue=portMAX_DELAY; //0xffffffffUL
/*将最后一个节点的pxNext和pxPrevious指针均指向节点自身,表示链表为空*/
pxList‐>xListEnd.pxNext=(ListItem_t*)&(pxList‐>xListEnd);
pxList‐>xListEnd.pxPrevious=(ListItem_t*)&(pxList‐>xListEnd);
/*初始化链表节点计数器的值为0,表示链表为空*/
pxList‐>uxNumberOfItems=(UBaseType_t)0U;
}
uxNumberOfItems
*pxIndex
ListItem_t
链表节点索引指针
UBaseType_t
链表节点计数器32bit
节点排序值
*pxNext
*pxPrevious
structxLIST_ITEM
structxLIST_ITEM
xMINI_LIST_ITEM(MiniListItem_t)
xItemValue= 0xffffffffUL
uint32_t/uint16_t(TickType_t)
xListEnd
xLIST(List_t)
链表头结点结构体
指向链表下一个节点
指向链表前一个节点
*pxList
*pxList
*pxList
③
/*链表头节点初始化*/
voidvListInitialise(List_t*constpxList)
{
/*将链表索引指针指向最后一个节点*/
pxList‐>pxIndex=(ListItem_t*)&(pxList‐>xListEnd);
/*将链表最后一个节点的辅助排序的值设置为最大,确保该节点就是链表的最后节点*/
pxList‐>xListEnd.xItemValue=portMAX_DELAY; //0xffffffffUL
/*将最后一个节点的pxNext和pxPrevious指针均指向节点自身,表示链表为空*/
pxList‐>xListEnd.pxNext=(ListItem_t*)&(pxList‐>xListEnd);
pxList‐>xListEnd.pxPrevious=(ListItem_t*)&(pxList‐>xListEnd);
/*初始化链表节点计数器的值为0,表示链表为空*/
pxList‐>uxNumberOfItems=(UBaseType_t)0U;
}
uxNumberOfItems
*pxIndex
ListItem_t
链表节点索引指针
UBaseType_t
链表节点计数器32bit
节点排序值
*pxNext
*pxPrevious
structxLIST_ITEM
structxLIST_ITEM
xMINI_LIST_ITEM(MiniListItem_t)
xItemValue=0xffffffffUL
uint32_t/uint16_t(TickType_t)
xListEnd
xLIST(List_t)
链表头结点结构体
指向链表下一个节点
指向链表前一个节点
*pxList
④
/*链表头节点初始化*/
voidvListInitialise(List_t*constpxList)
{
/*将链表索引指针指向最后一个节点*/
pxList‐>pxIndex=(ListItem_t*)&(pxList‐>xListEnd);
/*将链表最后一个节点的辅助排序的值设置为最大,确保该节点就是链表的最后节点*/
pxList‐>xListEnd.xItemValue=portMAX_DELAY; //0xffffffffUL
/*将最后一个节点的pxNext和pxPrevious指针均指向节点自身,表示链表为空*/
pxList‐>xListEnd.pxNext=(ListItem_t*)&(pxList‐>xListEnd);
pxList‐>xListEnd.pxPrevious=(ListItem_t*)&(pxList‐>xListEnd);
/*初始化链表节点计数器的值为0,表示链表为空*/
pxList‐>uxNumberOfItems=(UBaseType_t)0U;
}
uxNumberOfItems
*pxIndex
ListItem_t
链表节点索引指针
UBaseType_t
链表节点计数器32bit
节点排序值
*pxNext
*pxPrevious
structxLIST_ITEM
structxLIST_ITEM
xMINI_LIST_ITEM(MiniListItem_t)
xItemValue=0xffffffffUL
uint32_t/uint16_t(TickType_t)
xListEnd
xLIST(List_t)
链表头结点结构体
指向链表下一个节点
指向链表前一个节点
*pxList
⑤
/*链表头节点初始化*/
voidvListInitialise(List_t*constpxList)
{
/*将链表索引指针指向最后一个节点*/
pxList‐>pxIndex=(ListItem_t*)&(pxList‐>xListEnd);
/*将链表最后一个节点的辅助排序的值设置为最大,确保该节点就是链表的最后节点*/
pxList‐>xListEnd.xItemValue=portMAX_DELAY; //0xffffffffUL
/*将最后一个节点的pxNext和pxPrevious指针均指向节点自身,表示链表为空*/
pxList‐>xListEnd.pxNext=(ListItem_t*)&(pxList‐>xListEnd);
pxList‐>xListEnd.pxPrevious=(ListItem_t*)&(pxList‐>xListEnd);
/*初始化链表节点计数器的值为0,表示链表为空*/
pxList‐>uxNumberOfItems=(UBaseType_t)0U;
}
uxNumberOfItems= 0
*pxIndex
ListItem_t
链表节点索引指针
UBaseType_t
链表节点计数器32bit
节点排序值
*pxNext
*pxPrevious
structxLIST_ITEM
structxLIST_ITEM
xMINI_LIST_ITEM(MiniListItem_t)
xItemValue=0xffffffffUL
uint32_t/uint16_t(TickType_t)
xListEnd
xLIST(List_t)
链表头结点结构体
指向链表下一个节点
指向链表前一个节点
*pxList
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/7b2c7833e0bd4a13a2fa5013ad3af9b7_weixin_43420126.jpg!1)
weixin_43420126
- 粉丝: 1420
- 资源: 49
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)