FreeRTOS(任务的创建和删除)

news2024/12/24 20:29:47

1. 什么是任务?

任务可以理解为进程/线程,创建一个任务,就会在内存开辟一个空间。

比如: 玩游戏、陪女朋友,都可以视为任务

Windows 系统中的 MarkText 、谷歌浏览器、记事本,都是任务。 任务通常都含有 while(1) 死循环。

2. 任务创建与删除相关函数

任务创建与删除相关函数有如下三个:

任务动态创建与静态创建的区别: 动态创建任务的堆栈由系统分配,而静态创建任务的堆栈由用户自己传递。 通常情况下使用动态方式创建任务。 

  • 1. pvTaskCode:指向任务函数的指针,任务必须实现为永不返回(即连续循环);
  • 2. pcName:任务的名字,主要是用来调试,默认情况下最大长度是16;
  • 3. pvParameters:指定的任务栈的大小;
  • 4. uxPriority:任务优先级,数值越大,优先级越大; 
  • 5. pxCreatedTask:用于返回已创建任务的句柄可以被引用

vTaskDelete 函数原型 

 void vTaskDelete(TaskHandle_t xTaskToDelete);

只需将待删除的任务句柄传入该函数,即可将该任务删除。

当传入的参数为NULL,则代表删除任务自身(当前正在运行的任务)。

任务创建的小实验

需求:创建两个任务,分别实现led1和led2的翻转

cubemx的一些设置

代码实现

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/744359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

考虑储能的电价收益模型研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

D. Pairs of Segments

Problem - D - Codeforces 思路:其实它求的就是不相交区间的最大数量,但是它的区间是两个区间合并得到,所以我们可以直接将所有能合并的区间直接合并,然后做一遍不相交区间的最大数量,这样存在一种问题就是一个区间会不…

【力扣算法04】之合并 K 个升序链表- python

文章目录 问题描述示例1示例2示例3提示思路分析 代码分析完整代码额外讲解 完结 问题描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例1 输入:lists [[1,4,5],[1,3,4],[2,6]…

简要介绍 | 融合深度学习与符号逻辑:神经符号结合的探索

注1:本文系“简要介绍”系列之一,仅从概念上对神经符号结合进行非常简要的介绍,不适合用于深入和详细的了解。 融合深度学习与符号逻辑:神经符号结合的探索 Neuro-Symbolic AI 本文将探讨神经符号结合的概念、原理、研究现状、挑战…

推荐分布式系统案例课

你将获得 一线大厂分布式系统设计方法论; 分布式核心技术详解; 系统架构师面试技巧; 百万年薪架构师成长路径。 演示地址:www.runruncode.com/houduankaifa/19452.html 课程介绍 是否具备分布式系统的架构和设计能力,是…

typescript helloword

创建文件夹 创建ch01文件夹 新建tsconfig.json {"compilerOptions": {"strict": true,"target": "ES5"} }“tsconfig.json”是TypeScript编译器默认使⽤的配置⽂件。此例中的配置⽂件启⽤了所有的严格类型检查编译选项,…

经过半年的努力,终于成为了谷歌开发者专家(GDE)

大家好,我是拭心。 几天前,我终于收到了一封心心念念的邮件: 邮件的意思是:我正式成为了一名 GDE! 这封邮件来之不易,背后是半年多的准备、三次公开分享和两轮英文面试,我想有必要做一个总结&…

VMware vSphere 7 Update 3n 下载

VMware vSphere 7 Update 3n 下载 vCenter Server & ESXi, DellEMC, HPE, Cisco, LENOVO, FUJITSU, NEC, Inspur, Hitachi Custom Image 请访问原文链接:https://sysin.org/blog/vmware-vsphere-7-u3/,查看最新版。原创作品,转载请保留…

存储函数和存储过程的简单应用

创建存储函数 使用select调用 创建存储过程avg_sai 去调用他

stm32 ->HAL库重定向printf,实现串口打印

步骤 在CubeMX中初始化uart引脚 MX_USART1_UART_Init();包含printf函数的头文件stdio.h 重定义printf函数 int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff); return ch; }勾选Use MicroLIB 编译烧录 实现代码 /* Private i…

redis实现相关分布式锁

为什么需要分布式锁 我们知道,当多个线程并发操作某个对象时,可以通过synchronized来保证同一时刻只能有一个线程获取到对象锁进而处理synchronized关键字修饰的代码块或方法。既然已经有了synchronized锁,为什么这里又要引入分布式锁呢&…

vue打包、网站运行速度优化

最近在做公司的官网,遇到的首要问题就是初次进入网站时,加载很慢,首页的视频和字体甚至需要30秒才能完全展示出来,用户体验可以说时很差了。接下来说几个优化的点。 一、减小图片的体积 如果项目中的图片过于多,并且体…

Set up the compilation environment for ESP8266-RTOS-SDK using Git on Windows

Software to be installed: Git BashPython Environment,ESP8266 Master require Python v3 environment. Please check “add to PATH” while installing Open Git Bash,Enter a local disk,create an empty folder, enter the …

【雕爷学编程】Arduino动手做(159)---RCWL-0515微波检测模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

十大经典排序算法(代码实现),建议收藏

兜兜转转,一晃年关将至。时间证明了一个道理,学啥忘啥,学的越快忘得越快,还不如踏踏实实写点笔记心得来的实在。 编程初学期间,排序算法是让人抓头最多的一块。为什么我连最简单的冒泡排序都理解不了,我是…

webpack基础知识

webpack基础知识 1、定义2、环境安装3、初始化项目4、简单使用 1、定义 webpack的本质是一个第三方模块包,用于分析,并打包代码 支持所有类型的文件打包支持less/sass> css支持ES6/7/8>ES5压缩代码,提高加载速度 2、环境安装 yarn安…

Java并发编程中的HashMap、HashTable、ConcurrentHashMap

1、HashMap 1.1、为什么HashMap非线程安全的 (1)竞态条件 当多个线程同时对 HashMap 进行写操作(如插入、删除、修改),由于没有同步控制,可能会导致数据不一致的情况。例如,两个线程同时向同…

LLM 生成视频 - pika

文章目录 关于 pika申请试用2023-07-12 关于 pika A powerful Text-to-Video platform that can unleash your creativity simply by typing. 官网: https://www.pika.art/官方 twitter : https://twitter.com/pika_labs相关功能介绍 相关报道/博客: 图片生成视频 from : h…

如何给视频配音?这几种配音方法一看就会

怎么给视频进行配音呢?如果原始视频的录音质量较差,存在噪音、回音或杂音等问题,配音可以用来替换原始音频,以提高声音质量和清晰度,或者是我们想要给视频配上一段搞笑的方言配音,怎么怎么做呢?…

超级自动化的3年:财务、IT等通用场景占比高达65%,垂直领域玩家开始晋级

从信息化时代走向数字化时代,企业的最终目标即利用先进的数字技术完成数字化转型升级,而这绝不是将业务、流程、数据、表单等搬到线上就“完事⼉”。 在此背景下,Gartner于2019年提出“超级自动化”,之后全球范围内越来越多的企业…