FreeRtos自学笔记3-----参考正点原子视频
FreeRtos任务的创建与删除
任务的创建与删除本质上是调用FreeRtos的API函数。
API函数:
1.xTaskGreate():动态创建任务函数;
2.xTaskGreateStatic();静态创建任务函数;
3.xTaskDelete():任务删除
动态创建任务:任务的任务控制块以及任务的栈空间所需要的内存,均由FreeRtos的管理的堆中分配,系统运行时地址随机。
静态创建任务:任务的任务控制块以及任务的栈空间所需要的内存,均由用户自己分配,系统运行时地址不会修改。
动态创建任务函数:
Basetype_t xTaskGreat
{
TaskFunction_t pxTaskCode;
//指向任务函数的指针
const charconst pcName;
//任务名字,最大长度configMAX_TASK_NAME_LEN(一般默认16即任务名最长16个字符)
const configSTACK_DEPTH_TYPE usStackDepth;
//任务堆栈的大小,以字为单位,1个字等于4个字节大小。
voidconst pvParameters;
//传递给任务函数的参数,很少用,一般为NULL
UBasetype_t uxPriority;
//任务优先级,范围0–configMAX_PRIORITIES-1;一般为0-31
TaskHandle_t*const pxGreatedTask;
//任务句柄,就是任务的控制块,任务删除时候就是使用这个
}
函数返回值
pdPASS 任务创建成功
errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY 任务创建失败
一般任务创建失败是创建任务所需的栈的内存太大啦。
实现动态创建任务流程:
1.将宏configSUPPORT_DYNAMIC_ALLOCATION配置为1;即允许创建动态任务。
2.定义函数入口参数
3.编写任务函数
此函数创建的任务会立刻进入就绪态,由任务调度器运行
动态创建任务函数的内部实现:
1.申请堆栈内存和任务控制块内存;(我们只写内存大小,函数内部会自动帮我们分配)
2.TCB(任务控制块)成员赋值;(即任务的特性:如名字,栈大小,优先级等等)
3.添加新任务到就绪列表中。
typedef struct tskTaskControlBlock
{
volatile StackType_t *pxTopOfStack;
//任务栈栈顶,必须作为TCB的第一个成员;
Listltem_t xStateListltem;
//任务状态列表项
Listltem_t xEventListltem;
//任务事件列表项
UBaseType_t uxPriority;
//任务优先级,数值越大,优先级越高
StackType_t *pxStack;
//任务栈起始地址
char pcTaskName[configMAX_TASK_NAME_LEN ];
//任务名字
…省略很多条件编译的成员
}tskTCB;
相关文章:
FreeRtos自学笔记3-----参考正点原子视频
FreeRtos任务的创建与删除 任务的创建与删除本质上是调用FreeRtos的API函数。 API函数: 1.xTaskGreate():动态创建任务函数; 2.xTaskGreateStatic();静态创建任务函数; 3.xTaskDelete():任务删除 动态创建任务:任务的任务控制块以…...
使用J-Link Commander通过J-LINK以命令的形式来访问ARM通用MCU
通常我们的操作是写好程序然后将程序下载到芯片里面,然后运行程序来进行相应的操作,其实还可以使用 J − L i n k C o m m a n d e r J-Link\quad Commander J−LinkCommander通过 J − L I N K J-LINK J−LINK以命令的形式来简单访问ARM通用MCU…...
19.删除链表的倒数第N个节点
19.删除链表的倒数第N个节点 力扣题目链接(opens new window) 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head [1,2,3,4,5], n…...
【Linux C | 网络编程】广播概念、UDP实现广播的C语言例子
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
java 面向对象 day3
这里写目录标题 1、 内部类1.1 成员内部类 静态内部类1.2 局部内部类1.3 匿名内部类[重点] 2、枚举2.1 使用枚举类 设计单例模式2.2 小实例 3、泛型3.1 认识泛型3.2 泛型类3.3 泛型接口3.4 泛型方法3.5 注意事项 1、 内部类 内部类 就是定义在一个类中的类 1.1 成员内部类 静…...
Flink 大数据 学习详情
参考视频: 尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 核心目标: 数据流上的有状态的计算 具体说明: Apache Flink是一个 框架 和 分布式处理引擎,用于对 无界(eg:kafka) 和…...
[项目设计] 从零实现的高并发内存池(四)
🌈 博客个人主页:Chris在Coding 🎥 本文所属专栏:[高并发内存池] ❤️ 前置学习专栏:[Linux学习] ⏰ 我们仍在旅途 目录 6.内存回收 6.1 ThreadCache回收内存 6.2 CentralCache回收内存 Rele…...
02.URL的基本知识和使用
一.认识 URL 1. 为什么要认识 URL ? 虽然是后端给我的一个地址,但是哪部分标记的是服务器电脑,哪部分标记的是资源呢?所以为了和服务器有效沟通我们要认识一下 2. 什么是 URL ? 统一资源定位符,简称网址ÿ…...
人工智能指数报告2023
人工智能指数报告2023 主要要点第 1 章 研究与开发第 2 章 技术性能第 3 章 人工智能技术伦理第 4 章 经济第 5 章 教育第 6 章 政策与治理第 7 章 多样性第 8 章 舆论 人工智能指数是斯坦福大学以人为本的人工智能研究所(HAI)的一项独立倡议,…...
Android如何对应用进行系统签名
一、使用命令 获取签名文件 从系统源码环境中获取签名相关文件: platform.x509.pem、platform.pk8 、signapk.jar platform.x509.pem、platform.pk8 位于 ../build/target/product/security 目录下。signapk.jar 位于 ../out/host/linux-x86/framework 目录下。 …...
【系统安全加固】Centos 设置禁用密码并打开密钥登录
文章目录 一,概述二,操作步骤1. 服务器端生成密钥2. 在服务器上安装公钥3.下载私钥到本地(重要,否则后面无法登录)4. 修改配置文件,禁用密码并打开密钥登录5. 重启sshd服务6. 配置xshell使用密钥登录 一&am…...
关于我在项目中封装的一些自定义指令
什么是指令 在Vue中提供了一套为数据驱动视图更为方便的操作,这些操作被称为指令系统。我们看到的v-来头的行内属性,都是指令,不同的指令可以完成或者实现不同的功能。 除了核心功能默认内置的指令(v-model和v-show)…...
react经验11:访问循环渲染的子组件内容
前有访问单个子组件的需求,现在进一步需要访问循环渲染中的子组件。 访问单个子组件的成员 实施步骤 子组件//child.tsx export declare type ChildInstance{childMethod:()>void } const Child(props:{value:stringonMounted?:(ref:ChildInstance)>void …...
Java开发工程师面试题(业务功能)
一、订单超时未支付自动关闭的几种实现方式。 定时任务扫描:在订单创建时,为订单创建一个定时任务,并设置一个超时时间。后端服务器会定期检查任务的创建时间是否超过了超时时间。如果是,则将订单设置为关闭状态。这种方案需要后…...
BUUCTF-Misc-百里挑一
题目链接:BUUCTF在线评测 (buuoj.cn) 下载附件打开是一个流量包文件: 全是在传图片时候的流量,先把图片保存出来文件–>导出对象–>HTTP–>保存到一个文件夹 然后使用kali下的exiftool找到了一半flag exiftool *|grep flag 另外一半…...
【力扣刷题练习】42. 接雨水
题目描述: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 题目解答: class Solution {public int trap(int[] height) {int n height.length;int ans 0;if (n < 3)return…...
鸿蒙实战开发:数据交互【RPC连接】
概述 本示例展示了同一设备中前后台的数据交互,用户前台选择相应的商品与数目,后台计算出结果,回传给前台展示。 样例展示 基础信息 RPC连接 介绍 本示例使用[ohos.rpc]相关接口,实现了一个前台选择商品和数目,后台…...
QLC SSD:LDPC纠错算法的优化方案
随着NAND TLC和QLC出现,LDPC也在不断的优化研究,提升纠错能力。小编看到有一篇来自Microchip发布的比较详细的LDPC研究数据,根据自己的理解分析解读给大家,如有错误,请留言指正! 文档中测试LDPC(Low-Density Parity-Check)码是为了评估其在不同配置下对数据错误的有效…...
【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么?有什么关系吗?
【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么?有什么关系吗? 文章目录 写在前面解答补充说明 写在前面 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主&…...
ChatGPT高效提问——说明提示技巧
ChatGPT高效提问——说明提示技巧 现在,让我们开始体验“说明提示技巧”(IPT, Instructions Prompt Technique)和如何用它生成来自ChatGPT的高质量的文本。说明提示技巧是一个通过向ChatGPT提供需要依据的具体的模型的说明来指导ChatGPT输出…...
为什么你的Perplexity总搜不到知网核心期刊?97.6%用户忽略的3个元数据过滤阈值(附知网后台原始字段对照表)
更多请点击: https://intelliparadigm.com 第一章:Perplexity知网文献搜索失效的底层归因 Perplexity.ai 作为一款基于大模型的实时网络问答工具,其核心能力依赖于对公开网页内容的动态抓取与语义解析。然而当用户尝试通过 Perplexity 查询中…...
从零开始用vnpy搭建你的第一个量化交易机器人(保姆级Python教程)
从零开始用vnpy搭建你的第一个量化交易机器人(保姆级Python教程) 第一次接触量化交易时,我被那些复杂的术语和代码吓得不轻。直到发现vnpy这个Python框架,才真正找到了入门的方向。vnpy就像是为Python开发者量身定制的量化交易工具…...
5分钟上手OpenSTA:开源静态时序分析工具完全指南
5分钟上手OpenSTA:开源静态时序分析工具完全指南 【免费下载链接】OpenSTA OpenSTA engine 项目地址: https://gitcode.com/gh_mirrors/op/OpenSTA OpenSTA静态时序分析工具是数字集成电路设计中的关键验证环节,它能确保芯片在各种工作条件下都能…...
在Nodejs后端服务中集成Taotoken实现统一的大模型调用网关
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Nodejs后端服务中集成Taotoken实现统一的大模型调用网关 当你的后端服务需要接入多种大模型能力时,直接对接不同厂商…...
3步掌握抖音内容批量下载技巧:无水印视频保存终极指南
3步掌握抖音内容批量下载技巧:无水印视频保存终极指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…...
别再傻傻分不清!4脚和2脚的电感,在开关电源里到底怎么用?(附实物接线图)
4脚与2脚电感实战指南:开关电源中的精准识别与焊接技巧 在维修老式电脑电源时,我曾亲眼目睹一位工程师将四脚电感误焊到差模滤波位置,导致整机EMI测试超标30dB。这个价值两万元的教训让我意识到——引脚数量不仅是外观差异,更是电…...
仅限专业影像团队内部流通的Perplexity摄影搜索矩阵(含ISO/快门/色温等8维结构化Prompt库)
更多请点击: https://codechina.net 第一章:Perplexity摄影技巧搜索的底层逻辑与架构设计 Perplexity 并非专为摄影设计的工具,但其搜索系统在处理“摄影技巧”类长尾、意图模糊、多模态关联的问题时,展现出独特的推理架构特征。…...
从FLAN-T5到你的专属模型:如何用公司内部客服聊天记录做领域微调(附DialogSum实操对比)
从FLAN-T5到业务专属模型:领域微调实战指南 当通用大模型遇上垂直业务场景,性能落差往往令人沮丧。想象一个酒店预订客服场景:FLAN-T5可能把"我需要延迟入住"总结成"客户确认了入住时间",这种"幻觉"…...
告别时序噩梦:Vivado的report_qor_suggestions从导出RQS到导入生效全流程避坑指南
告别时序噩梦:Vivado的report_qor_suggestions从导出RQS到导入生效全流程避坑指南 在FPGA设计流程中,时序收敛问题往往成为工程师的"最后一公里"难题。当设计复杂度达到一定规模时,传统的手动优化方式不仅效率低下,还可…...
3步掌握Windows 11任务栏自定义神器:Taskbar11完全指南
3步掌握Windows 11任务栏自定义神器:Taskbar11完全指南 【免费下载链接】Taskbar11 Change the position and size of the Taskbar in Windows 11 项目地址: https://gitcode.com/gh_mirrors/ta/Taskbar11 还在为Windows 11僵化的任务栏设置而烦恼吗…...
