当前位置: 首页 > news >正文

郑州一凡网站建设西安免费公司网站制作

郑州一凡网站建设,西安免费公司网站制作,网络运维工程师需要考什么证书,淘宝电商网站怎么做链表和任务管理是freertos 的核心,先分析链表源码,freertos的链表是双向环形链表,定义与数据结构在list.h中,表项的初始化,插入与删除在list.c中。 数据结构 一、表项数据结构 struct xLIST_ITEM {listFIRST_LIST_IT…

链表和任务管理是freertos 的核心,先分析链表源码,freertos的链表是双向环形链表,定义与数据结构在list.h中,表项的初始化,插入与删除在list.c中。
数据结构

一、表项数据结构

struct xLIST_ITEM
{listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUEconfigLIST_VOLATILE TickType_t xItemValue;struct xLIST_ITEM * configLIST_VOLATILE pxNext;struct xLIST_ITEM * configLIST_VOLATILE pxPrevious;                                                                                            void * pvOwner;struct xLIST * configLIST_VOLATILE pxContainer;listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE
};
typedef struct xLIST_ITEM ListItem_t;
 listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUElistSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE

这两个是校验数据

    #if ( configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES == 0 )#define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE#define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE     #else#define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE     TickType_t xListItemIntegrityValue1;#define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE    TickType_t xListItemIntegrityValue2;#endif

不需要的情况下宏展开为空,需下的的情况下是据TickType_t长度变化16-32位的5a5a

 #if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )typedef uint16_t     TickType_t;#define portMAX_DELAY              ( TickType_t ) 0xffff
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )typedef uint32_t     TickType_t;#define portMAX_DELAY              ( TickType_t ) 0xffffffffUL                                                                                 
#else#error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width.
#endif

configLIST_VOLATILE TickType_t xItemValue;

#define configLIST_VOLATILE volatile
#ifndef configLIST_VOLATILE#define configLIST_VOLATILE
#endif

在调度任务时,插入表项的依据值,可以为运行时间什么的

   struct xLIST_ITEM * configLIST_VOLATILE pxNext;

指向下一表项

struct xLIST_ITEM * configLIST_VOLATILE pxPrevious;        

指向前一表项

void * pvOwner;

指向该表项的指针

struct xLIST * configLIST_VOLATILE pxContainer;

指向拥有该表项的链表。

二、链表数据结构

typedef struct xLIST
{listFIRST_LIST_INTEGRITY_CHECK_VALUEvolatile UBaseType_t uxNumberOfItems;ListItem_t * configLIST_VOLATILE pxIndex;MiniListItem_t xListEnd;listSECOND_LIST_INTEGRITY_CHECK_VALUE
} List_t;   

分解

volatile UBaseType_t   uxNumberOfItems;
typedef unsigned long    UBaseType_t;

表项数目

ListItem_t * configLIST_VOLATILE pxIndex;

表项索引

MiniListItem_t xListEnd;

表尾,若定义configUSE_MINI_LIST_ITEM ,使用缩减表项数据结构,否则还是表项的数据结构,参考以下

#if ( configUSE_MINI_LIST_ITEM == 1 ) struct xMINI_LIST_ITEM{   listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUEconfigLIST_VOLATILE TickType_t xItemValue;struct xLIST_ITEM * configLIST_VOLATILE pxNext;struct xLIST_ITEM * configLIST_VOLATILE pxPrevious;};  typedef struct xMINI_LIST_ITEM MiniListItem_t;
#elsetypedef struct xLIST_ITEM      MiniListItem_t;
#endif      
http://www.yayakq.cn/news/284761/

相关文章:

  • 医药网站前置审批专属头像制作素材图片
  • 网络直播网站开发手机免费建设网站
  • 哪个做app的网站好体育新闻最新消息今天
  • 河南seo网站多少钱wordpress获取文章别名
  • 网站名称管理做网站的云服务器选什么
  • 房山网站建设成都装修网站建设
  • 移动app与网站建设的区别湘潭网站网站建设
  • 苏州著名网站建设做视频网站视频短片
  • 定位网站关键词厦门企业宣传片制作
  • 云网站系统涿州市建设局网站网址是多少
  • 深圳惠州网站建设公司莱芜金点子最新招聘平台
  • 12306网站开发商施工企业有哪些
  • 网站建设项目管理职业技能培训中心
  • 厦门外贸网站建设报价表企业网盘系统
  • 教育企业重庆网站建设台州网站制作套餐
  • 网站建设工程师招聘苏州市城乡建设档案馆网站
  • 网站右侧二维码怀来县建设局网站
  • 口碑做团购网站如果网站没有做icp备案
  • 百度搜索不到自己的网站便宜的购物网站排名
  • 风格活泼的网站设计wordpress模板安装后
  • 郑州做网站汉狮做网站 每月赚 钱
  • 网站建设管理条例wordpress导入xml失败
  • 网站文章的作用统计网站建设
  • 专业网站建设咨湛江网站如何制作
  • 网站设计一般是什么专业想建立自己的网站怎么建立
  • 网站制作的wordpress落地页
  • 网站开发掌握哪种语言seo诊断服务
  • 自己搭建网站需要多少钱网站与备案信息不符
  • 网站开发与技术wordpress访客明细
  • iis7 部署网站小学生个人主页模板