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

STM32_RTOS学习笔记——1(列表与列表项)

总体RTOS笔记目录 

一,列表与列表项(本文)

二,待定

视频参考:B站野火

一,C语言列表概念

列表就是C语言中的链表,链表就如同下面的衣架一样,需要的各种内容可以参考 

 

 C语言链表可参考下图或者连接:C语言数据结构

二,RTOS列表实现步骤

1,链表节点数据结构体定义

        1,辅助排序值

        2,上一个节点

        3,下一个节点

        4,内核拥有者

        5,节点所在链表(根)

2,链表节点初始化为空

3,定义链表根节点数据结构

        1,节点计数器

        2,节点指针

        3,最末节点

4,根节点初始化

        1,指向最末节点

        2,末节点排序设为最大,确保为最末节点

        3,最末节点指向自身,表示为空节点

        4,计数器为0

5,将链表插入尾部

         1,在链表节点初始化的基础上,更改上下节点地址

        2,更改排序值,节点计数器

 6,删除节点

        1,获取节点所在的链表,将指定的节点从链表删除,调整链表的节点索引指针

         2,初始化该节点所在的链表为空,表示节点还没有插入任何链表

        3,链表节点计数器,返回链表中剩余节点的个数

 7,带参宏小函数

        参考list.h

8,小实验,仿真列表插入 

 

相关文章:

STM32_RTOS学习笔记——1(列表与列表项)

总体RTOS笔记目录 一,列表与列表项(本文) 二,待定 视频参考:B站野火 一,C语言列表概念 列表就是C语言中的链表,链表就如同下面的衣架一样,需要的各种内容可以参考 C语言链表可…...

子网划分案例

划分子网是将一个较大的网络划分为多个较小的子网,以提高网络管理和安全性 子网划分可以更有效地利用 IP 地址空间,并且有助于控制网络流量、提高网络性能和安全性。 子网划分的主要步骤如下: 确定需要划分的子网数量以及每个子网所需的主…...

javaweb_02:Maven

一、引入 在javaweb的开发中,需要使用大量的jar包,我们得手动去导入,而Maven可以自动帮我们导入和配置这个jar包。 二、Maven项目框架管理工具 核心思想:约定大于配置(有约束不违反):Maven会…...

19.延迟队列优化

问题 前面所讲的延迟队列有一个不足之处,比如现在有一个需求需要延迟半个小时的消息,那么就只有添加一个新的队列。那就意味着,每新增一个不同时间需求,就会新创建一个队列。 解决方案 应该讲消息的时间不要跟队列绑定&#xf…...

P10477 Subway tree systems 题解,c++ 树相关题目

题目 poj 链接 洛谷链接 n n n 组数据,每组数据给定两个 01 01 01 串(长度不超过 3000 3000 3000),意思如下: 对于每一个 0 0 0,代表该节点有一个子节点,并前往该子节点。对于每一个 1 1 …...

18.jdk源码阅读之CopyOnWriteArrayList

1. 写在前面 CopyOnWriteArrayList 是 Java 中的一种线程安全的 List 实现,基于“写时复制”(Copy-On-Write)机制。下面几个问题大家可以先思考下,在阅读源码的过程中都会解答: CopyOnWriteArrayList 适用于哪些场景…...

美股:AMD展现乐观前景,挑战AI加速器市场霸主

在科技行业的激烈竞争中,AMD公司近期发布了对当前季度收入的乐观预测,显示出其新推出 一、AMD第三季度营收预期超越分析师平均预期 AMD在周二的声明中预计,第三季度营收将达到约67亿美元,这一数字超出了分析师此前平均预期的66.…...

如何提高计算机视觉技术在复杂环境和低光照条件下的物体识别准确率?

要在复杂环境和低光照条件下提高计算机视觉技术的物体识别准确率,可以采取以下几个方法: 数据增强:在训练集中添加各种复杂环境和低光照条件下的图片,通过增加数据的多样性,使算法能够更好地适应各种场景。 预处理&am…...

ubuntu cmake使用自己版本的qt

给一篇文章参考 https://blog.csdn.net/bank_dreamer/article/details/138678909 自己使用的范例 set(Qt5_DIR "/home/peak/Qt5.14.0/5.14.0/gcc_64/lib/cmake/Qt5")# 设置Qt5的安装目录 #set(CMAKE_PREFIX_PATH "/home/peak/Qt5.14.0")find_package(Qt5…...

Python基础知识笔记---保留字

保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。 一、保留字概览 二、保留字用途 1. False:表示布尔值假。 2. None:表示空值或无值。 3. True:表示布尔值真。 4. not:布尔逻辑操作符…...

Python面试整理-Web开发

在Python中,Web开发可以利用多种强大的框架和库来构建从简单的静态网页到复杂的动态Web应用。以下是几种流行的Python Web开发框架和相关技术的概述: 1. Flask Flask 是一个轻量级的Web应用框架,它非常灵活,适用于小型到中型项目,或作为构建微服务的基础。Flask的核心非常…...

民大食堂用餐小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商家管理,档口号管理,商家餐品管理,餐品种类管理,购物车管理,订单信息管理 微信端账号功能包括:系统首页&a…...

Linux系统编程(4):消息队列

Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。 而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室 以及 BSD(加州大学伯克利分校的伯克利软件发布中心), 他们在进程间通信方面的侧重点有所不同; 前…...

【初阶数据结构篇】单链表的实现(赋源码)

文章目录 单链表的实现代码位置概念与结构概念:结构: 链表的性质链表的分类单链表的实现单链表的创建和打印及销毁单链表的创建单链表的打印单链表的销毁 单链表的插入单链表头插单链表尾插单链表在指定位置之前插入数据单链表在指定位置之后插入数据 单…...

LeetCode 2844.生成特殊数字的最少操作(哈希表 + 贪心)

给你一个下标从 0 开始的字符串 num ,表示一个非负整数。 在一次操作中,您可以选择 num 的任意一位数字并将其删除。请注意,如果你删除 num 中的所有数字,则 num 变为 0。 返回最少需要多少次操作可以使 num 变成特殊数字。 如…...

昇思MindSpore 应用学习-基于 MindSpore 实现 BERT 对话情绪识别

基于 MindSpore 实现 BERT 对话情绪识别 模型简介 BERT全称是来自变换器的双向编码器表征量(Bidirectional Encoder Representations from Transformers),它是Google于2018年末开发并发布的一种新型语言模型。与BERT模型相似的预训练语言模…...

【初阶数据结构篇】顺序表和链表算法题

文章目录 顺序表算法题移除元素删除有序数组中的重复项合并两个有序数组 链表算法题移除链表元素反转链表链表的中间结点合并两个有序链表链表分割链表的回文结构 顺序表算法题 不熟悉顺序表的可以先了解一下 顺序表实现方法 移除元素 给你一个数组 nums 和一个值 val&#x…...

使用weex进行APP混合开发

Weex 是一个用于构建高性能原生应用的框架,它使用 Vue.js 的语法和组件模型,允许开发者使用 HTML、CSS 和 JavaScript 来编写应用,同时能够编译成原生应用。Weex 主要由阿里巴巴集团开发,并且已经被多个公司采用。 下面是使用 We…...

C++stl大根堆/小根堆的创建与记忆

priority_queue<int, vector<int>, greater<int>> heap; 这行代码在 C 中声明了一个优先队列 heap&#xff0c;其元素类型为 int&#xff0c;使用 vector<int> 作为其底层容器&#xff0c;并且指定了 greater<int> 作为比较函数对象。 这里的关…...

visual studio性能探测器使用案列

visual studio性能探测器使用案列 在visual studio中&#xff0c;我们可以使用自带的工具对项目进行性能探测&#xff0c;具体如下 1.选择性能探查器 Vs2022/Vs2019中打开方式&#xff1a; Vs2017打开方式&#xff1a; 注意最好将解决方案配置为&#xff1a;Release Debu…...

印度市场语音产品上线倒计时!ElevenLabs印地文TTS合规指南(含RBI语音存储规范、UIDAI语音采集红线)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;印度市场语音产品上线倒计时&#xff01;ElevenLabs印地文TTS合规指南&#xff08;含RBI语音存储规范、UIDAI语音采集红线&#xff09; 面向印度市场的语音合成产品上线前&#xff0c;必须严格遵循印度央行&a…...

10 万行 Rust 代码开发实测封神!AI 应用经验大揭秘

从 10 万行 Rust 代码开发中获得的 AI 应用经验 2025 年 12 月 1 日 在过去几个月里&#xff0c;对 AI 编码工具在构建实际生产级分布式系统方面的能力进行了压力测试。 结果是&#xff0c;开发出了一个基于 Rust 的多 Paxos 共识引擎。它不仅实现了 Azure 复制状态库&#xff…...

2026年京东云OpenClaw/Hermes Agent配置Token Plan环境搭建指南

2026年京东云OpenClaw/Hermes Agent配置Token Plan环境搭建指南。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...

ARMv8-A架构CAS原子操作原理与优化实践

1. A64指令集的CAS原子操作基础在ARMv8-A架构中&#xff0c;原子操作是并发编程的基础构建块。CAS&#xff08;Compare and Swap&#xff09;作为最核心的原子操作之一&#xff0c;其工作原理可以类比为"先验货再付款"的购物过程&#xff1a;首先检查内存中的当前值是…...

3分钟搞定百度网盘提取码:新手也能快速上手的终极解决方案

3分钟搞定百度网盘提取码&#xff1a;新手也能快速上手的终极解决方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否经常遇到这样的烦恼&#xff1a;朋友分享的百度网盘链接明明就在眼前&#xff0c;却因为缺少那个关…...

Orbit:革命性记忆增强平台的完整指南

Orbit&#xff1a;革命性记忆增强平台的完整指南 【免费下载链接】orbit Experimental spaced repetition platform for exploring ideas in memory augmentation and programmable attention 项目地址: https://gitcode.com/gh_mirrors/orbit1/orbit Orbit是一个革命性…...

百度文库文档免费下载终极指南:三步获取PDF完整教程

百度文库文档免费下载终极指南&#xff1a;三步获取PDF完整教程 【免费下载链接】baidu-wenku fetch the document for free 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wenku 你是否经常在百度文库找到心仪的文档&#xff0c;却因为需要下载券或付费而无法保存…...

如何彻底释放华硕笔记本性能:G-Helper轻量控制工具终极指南

如何彻底释放华硕笔记本性能&#xff1a;G-Helper轻量控制工具终极指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenboo…...

OpenHarmony芯片解决方案:从硬件抽象到编译配置实战指南

1. 项目概述&#xff1a;从零理解OpenHarmony芯片解决方案如果你正在或准备踏入OpenHarmony的硬件开发领域&#xff0c;那么“芯片解决方案”这个概念&#xff0c;就是你绕不开的第一道门槛。它不像写一个纯应用层的“Hello World”程序那么简单&#xff0c;而是连接你手中那块…...

如何用嘎嘎降AI处理法学论文:法学毕业论文降AI4.8元完整操作教程

如何用嘎嘎降AI处理法学论文&#xff1a;法学毕业论文降AI4.8元完整操作教程 关于法学论文降AI教程&#xff0c;有几个细节提前知道能少走很多弯路。 核心用嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;4.8元&#xff0c;达标率99.26%。这篇把容易忽略的…...