FreeRTOS学习笔记2:列表
list.h
列表结构List_t
列表:主要看三个
xLIST:
1、5检查列表完整性的。但是需要开启。默认不开启
2:记录列表中列表项的 数量:
3:记录当前列表项 索引号;
4:列表中的最后一个 列表项。//用来表示列表结束 变量类型是mini
列表项:主要看五个
1、7检查列表完整性。默认不开启
2:xItemVlaue 列表项的值,列表根据这个值连接起来,这个值决定顺序
3:指向列表项结构体的 指针(后)
4:指向列表项结构体的 指针(前)//相当于双向链表
5:空指针 pvOwner 描述 此列表项归谁拥有,通常是 任务控制块 (任务控制块中会有列表项属性)
//任务控制块中有两个成员state、event,的变量类型是 列表项
6:列表指针 pvContainer 描述此列表项归哪个列表。 //5+6 确定列表项的定位
在任务控制块中会有两个列表项
状态列表项和事件列表项//xStateListItem xEventListItem
创建了任务后,该xStateListItem 列表项的 pvOwner会指向这个任务控制块。
任务就绪态之后,xStateListItem 列表项的 pvContainer 会指向 就绪列表。
这两个列表项 用于 将某个任务放到某个列表中。//个人理解:这个列表项 = 一种任务属性 属于 属性列表
//如就绪列表、延时列表、阻塞列表、挂起列表等
当前任务,处于某种状态,就会将这个 列表项添加到对应的列表中去
如果这任务是在等待某个状态,就把这个任务,加到事件列表中去。
迷你列表项:
前面一样,没有56
它的意义:不需要全功能,不浪费内存。列表中的最后一个列表项:xListEnd,其类型为mini类型
API 函数
列表初始化:
列表项初始化
列表项插入
列表项末位插入
列表项删除
列表的遍历
遍历:freertos 提供了一个函数可以遍历列表
每调用一次这个函数,列表的pxIndex就不会指向下一个列表项。
并返回pxOwner 的变量值
vTaskList
该函数将统计到的信息放入一个表格:
创建任务名字,
任务状态:B 阻塞态 R 就绪态 S 挂起态 D 删除态
任务优先级
任务堆栈的“高水位线”:即堆栈历史最小剩余大小
任务编号:唯一
需要提供一个内存去保存。参数就是内存(*pcWriteBuffer)
配置:
使用这个功能,需将config的两个宏定义为1
FreeRTOS学习笔记2:列表的更多相关文章
- python学习笔记整理——列表
Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...
- python3.4学习笔记(十一) 列表、数组实例
python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...
- FreeRTOS学习笔记——FreeRTOS 任务基础知识
RTOS 系统的核心就是任务管理,FreeRTOS 也不例外,而且大多数学习RTOS 系统的工程师或者学生主要就是为了使用RTOS 的多任务处理功能,初步上手RTOS 系统首先必须掌握的也是任务的创建 ...
- FreeRTOS学习笔记——任务间使用队列同步数据
1.前言 在嵌入式操作系统中队列是任务间数据交换的常用手段,队列是生产者消费者模型的重要组成部分.FreeRTOS的队列简单易用,下面结合一个具体例子说明FreeRTOS中的队列如何使用. 2.参考代 ...
- HTML5学习笔记<四>: 列表, 块和布局
HTML列表 列表标签 标签 描述 <ol> 定义有序列表. <ul> 定义无序列表. <li> 定义列表项. <dl> 定义定义列表. <dt& ...
- FREERTOS学习笔记
2012-02-25 21:43:40 为提升自己对实时操作系统(RTOS)的认识,我学习了freeRTOS. 理解了OS任务的状态.优先级的概念.信号量的概念.互斥的概念.队列.内存管理.这都是和R ...
- python学习笔记-列表和字典
由于最近在看深度学习的代码,看到需要建立字典和列表来存储什么东西的时候,就想要去把字典和列表好好的了解清楚,其应用范围,差别,等等东西 首先我们来介绍,在python中存在如下的数据结构:列表list ...
- Perl 学习笔记-列表和数组
笔记来自<<Perl语言入门第5版>> 1. Perl中列表指标量的有序集合,数组则是存储列表的变量, 这两个术语经常混用,不过更精确地说,列表指数据,而数组指变量.数组的表示 ...
- FreeRTOS学习笔记4:时间管理
绝对时间:abs Time相对时间:百分比% time IDLE是空闲任务. RUN_Time_State:port...()初始化一个外设提供时基单元 //具体初始化要自己操作这个定时器的分辨率高于 ...
随机推荐
- hadoop基本组件原理小总结
Hadoop基础知识小总结 这是本人(学生党)在学习hadoop半个学期后根据教科书后习题做的一个小总结,如有发现错误还请各位海涵并指出,我会及时改过来的,谢谢! 目录 Hadoop基础知识小总结. ...
- TCP/IP协议和socket
1.传输层基于tcp协议的三次握手和四次挥手? 传输层有两种数据传输协议,分别为TCP协议和UDP协议,其中TCP协议为可靠传输,数据包没有长度设置,理论可以无限长,而UDP协议为不可靠传输,报头一共 ...
- 在SQL中怎么把一列字符串拆分为多列
--首先,你是按什么规则拆? 我举个例子 你要按字段中的逗号拆开,假设字段名叫text --用charindex和substring这2个函数 select substring(text,1,c ...
- UI自动化测试的Page Object模式
在UI级的自动化测试框架中,当页面样式改变或者页面元素属性改变,那么代码也要随之进行修改,如何做到高效快速的修改代码来适应这些改变呢,这个时候可以引入Page Object模式,也是页面对象设计模式. ...
- HCTF2018-admin[flask session 伪造]
知识点:flask session 伪造 flask中session是存储在客户端cookie中的,也就是存储在本地.flask仅仅对数据进行了签名.众所周知的是,签名的作用是防篡改,而无法防止被读取 ...
- Python入门5 —— 基本运算符
1.算数运算符('+'.'-'.'*'.'/'.'//'.'%'.'**') print(10 + 3) -- 输出:13 print(10 - 3) -- 输出:7 print(10 * 3) -- ...
- 函数的应用_python
一.各类函数应用 1.高阶函数:函数里面调用函数 例子: def add(a): return (a*a) def print_info(fun,c,d): #传入函数与参数 return fun(c ...
- 自己动手系列----使用数组实现一个简单的Set
Set:注重独一无二的性质,该体系集合可以知道某物是否已近存在于集合中,不会存储重复的元素用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复.主要有HashSet和TreeSet两大实现类. ...
- js时间相关操作
取值 this.divEndDate.attr("value",new Date()); var date = new Date(); date.getYear(): 取2 ...
- NW.js桌面应用开发(一)
NWjs中文网 Electron中文网 一些需要了解的历史与特性,其实就是 NW.js 和 Electron的争议,建议还是亲自阅读一下各自的官网说明 1.下载SDK版工具 从淘宝NPM镜像下载,速度 ...