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...()初始化一个外设提供时基单元 //具体初始化要自己操作这个定时器的分辨率高于 ...
随机推荐
- ZedGraph怎样实现将图形右键菜单的打印和页面设置合并为打印的二级子菜单
场景 Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- java - CAS及CAS底层原理
CAS是什么? CAS的全称为Compare-And-Swap它是一条CPU并发原语,也就是在CPU硬件层面上来说比较并且判断是否设置新值这段操作是原子性的,不会被其他线程所打断.在JAVA并发包ja ...
- 遇到的基础php函数、方法
0x01 PHP file() 函数 file() 函数把整个文件读入一个数组中. 数组中的每个元素都是文件中相应的一行,包括换行符在内. 实例: <?php print_r(file(&quo ...
- python实用30个小技巧
python实用30个小技巧 展开1.原地交换两个数字Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: In [1]: x,y = 10 ,20 In [2]: ...
- [CQOI2015] 网络吞吐量 - 最大流,最短路
在第i个点只能选A[i]次的情况下,能选出多少条1-n的最短路 Solution 我们造出最短路DAG,然后对每个点拆点限流,跑最大流即可 双向边警告!(有悖直觉 #include <bits/ ...
- Nginx绑定IP,解决session共享
1.Nginx通过负载均衡IP地址固定绑定,解决Session共享 upstream note.java.itcast.cn{ ip_hash; server ...
- lnmp1.5一键安装包安装lnmpa后,添加站点
lnmp1.5一键安装包安装lnmpa后,添加站点 (1)添加站点 (2)配置apache配置文件 在/usr/local/apache/conf/vhost文件夹下,修改webApp站点配置文件ap ...
- onvif学习一:wsdl 和soap
来源:https://www.cnblogs.com/huanghongbo/p/5920123.html WSDL是用来描述WebService的,它用XML的格式描述了WebService有哪些方 ...
- 【PAT甲级】1117 Eddington Number (25分)
题意: 输入一个正整数N(<=100000),接着输入N个非负整数.输出最大的整数E使得有至少E个整数大于E. AAAAAccepted code: #define HAVE_STRUCT_TI ...
- 后台异常 - org.apache.jasper.JasperException
问题描述 org.apache.jasper.JasperException: Unable to compile class for JSP 问题原因 tomcat6不支持jdk1.8版本