STM32与Freertos入门(三)任务的创建、删除

news2024/11/25 16:46:21

1、串口配置 

首先将串口进行配置,后续经常会应用,具体步骤点击:串口配置。

2、任务

 创建一个任务,就是开辟一个空间、每个任务中都会有while(1)死循环。

2.1相关函数

动态创建:xTaskCreate();

BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,                 //任务函数
                        const char * const pcName,                 //任务名字(字符串类形)
                        const configSTACK_DEPTH_TYPE usStackDepth, //任务栈大小
                        void * const pvParameters,                 //传给任务的参数
                        UBaseType_t uxPriority,                    //任务优先级
                        TaskHandle_t * const pxCreatedTask )       //任务句柄

静态创建:xTaskCreateStatic();

TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,   //任务函数
                                const char * const pcName,   //任务名称
                                const uint32_t ulStackDepth, //任务堆栈大小
                                void * const pvParameters,   //传给任务的函数
                                UBaseType_t uxPriority,      //任务优先级
                                StackType_t * const puxStackBuffer, //任务堆栈(需定义)
                                StaticTask_t * const pxTaskBuffer ) //任务控制块(需定义)

删除函数:vTaskDelete();

void vTaskDelete( TaskHandle_t xTaskToDelete );

动态创建任务的堆栈由系统分配,静态由程序员自己维护,因此,通常使用动态方式进行任务创建。

2.2 任务配置

双击默认任务,如下所示:

 修改任务名称:

添加任务:

2.3 led灯引脚配置

配置完成后生成代码。

3、keil代码

3.1 LED灯宏定义

首先在main.h对LED、LED2进行宏定义

#define LED_ON	HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET)
#define LED_OFF	HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET)
#define LED2_ON	HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_RESET)
#define LED2_OFF	HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_SET)

3.2 不同任务点灯

效果如下:

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

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

相关文章

Github 2023-12-19开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-19统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4Rust项目2非开发语言项目2C#项目1TypeScript项目1 Avalonia: 跨平台UI框架和Avalonia XPF 创建周…

20231218给Firefly的AIO-3399J【RK3399】开发板刷Android12挖掘机方案

20231218给Firefly的AIO-3399J【RK3399】开发板刷Android12挖掘机方案 2023/12/18 21:07 一、整体编译Rockchip的的Android12的挖掘机方案! 由于RK3399的Android12系统默认是IND工业方案,需要修改一下【为挖掘机方案】。 Z:\3TB\81rk_android12_220722\…

鸿蒙端H5容器化建设——JSB通信机制建设

1. 背景 2023年鸿蒙开发者大会上,华为宣布为了应对国外技术封锁的潜在风险,2024年的HarmonyOS NEXT版本中将不再兼容Android,并推出鸿蒙系统以及其自研的开发框架,形成开发生态闭环。同时,在更高维度上华为希望将鸿蒙…

NVMe over CXL技术如何加速Host与SSD数据传输?

在现代计算环境中,优化Host(主机)与device(设备)之间的数据传输速度对于提升系统整体性能和效率至关重要。目前业内主要有以下几种方案: Controller Memory Buffer (CMB): CMB是一种集成在NVMe …

Python数据科学视频讲解:Python数据缺失值处理

3.5 Python数据缺失值处理 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解3.5节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。内容涵盖数据科学应用的全流程,包括数据…

数据库增删改查Native SQL

DBCO:检查数据库是否连接 代码: 查询: DATA: gv_dbs TYPE char30 VALUE XXXXXXXX. "数据库连接名称 DATA:gt_ztclaim_2 TYPE TABLE OF ztclaim_2. DATA:gs_ztclaim_2 TYPE ztclaim_2.TRY.EXEC SQL.CONNECT TO :GV_DBSENDEXEC.EXEC SQ…

【计算机网络】TCP协议——2.连接管理(三次握手,四次挥手)

目录 前言 一. 建立连接——三次握手 1. 三次握手过程描述 2. TCP连接建立相关问题 二. 释放连接——四次挥手 1. 四次挥手过程描述 2. TCP连接释放相关问题 三. TCP状态转换 结束语 前言 TCP——传输控制协议(Transmission Control Protocol)。是一种面向连接的传…

弹幕情感分析可视化

弹幕情感分析可视化 引言1. 弹幕数据爬取2. 弹幕数据处理3. 弹幕数据可视化4. 弹幕情感分析5. 创新点:弹幕情感倾向分布 引言 当今互联网时代,大量的弹幕数据蕴含着丰富的信息,通过对这些数据进行分析和可视化,我们能够深入了解用…

【01】GeoScene生产海图或者电子航道图

1.1 什么是电子海图制图模块 GeoScene海事模块是一个用于管理和制作符合国际水文组织(IHO)S-100系列标准和S-57标准的海事数据的系统。提供了S-100和S-57工具,用于加载基于S-100的要素目录、创建基于S-57传输结构的数据、输入数据、符号化数…

U-Net 算法详解

目录 1.任务概述 2.编码器-解码器 3.跳跃连接 4.实现细节 5.损失函数 6.上采样方法 不填充还是填充? 7.U-Net 的运作方式 8.结论 1.任务概述 U-Net 是为语义分割任务开发的。当神经网络接受图像作为输入时,我们可以选择一般性地分类对象或按实例…

传统软件集成AI大模型——Function Calling

传统软件和AI大模型的胶水——Function Calling 浅谈GPT对传统软件的影响Function Calling做了什么,为什么选择Function CallingFunction Calling简单例子,如何使用使用场景 浅谈GPT对传统软件的影响 目前为止好多人对chatGPT的使用才停留在OpenAI自己提…

【Linux】sed命令使用

sed 命令 sed全称是:Stream EDitor。 sed 命令是利用脚本来处理文本文件。sed 一次只读取一行文本到缓冲区,然后读取命令,对此行进行编辑,然后读取下一行,重复此过程直到结束。 sed 与 vi 的区别 【Linux】 vi / v…

【DOM笔记二】操作元素(修改元素内容,修改常见元素/表单元素/元素样式属性,排他思想,自定义属性操作,应用案例!)

文章目录 4 操作元素4.1 修改元素的内容4.2 修改常见元素的属性案例:分时问候 4.3 修改表单元素属性案例:登录时隐藏/显示密码 4.4 修改元素样式属性4.4.1 行内样式操作 element.style案例1:关闭二维码广告案例2:遍历精灵图案例3&…

C# 图解教程 第5版 —— 第19章 枚举器和迭代器

文章目录 19.1 枚举器和可枚举类型19.2 IEnumerator 接口19.3 IEnumerable 接口19.4 泛型枚举接口19.5 迭代器19.5.1 迭代器块19.5.2 使用迭代器来创建枚举器19.5.3 使用迭代器来创建可枚举类型 19.6 常见迭代器模式19.7 产生多个可枚举类型19.8 将迭代器作为属性19.9 迭代器的…

Postman使用总结--参数化

将 测试数据,组织到 数据文件中,通过脚本的反复迭代,使用不同的数据,达到测试不同用例的目标 数据文件有两种: CSV (类似于excel) 格式简单用这个 文件小 JSON(字典列表&#x…

Vue3-22-组件-插槽的使用详解

插槽是干啥的 插槽 就是 组件中的一个 占位符, 这个占位符 可以接收 父组件 传递过来的 html 的模板值,然后进行填充渲染。 就这么简单,插槽就是干这个的。要说它的优点吧,基本上就是可以使子组件的内容可以被父组件控制&#xf…

Amazon CodeWhisperer 体验

文章作者:jiangbei 1. CodeWhisperer 安装 1.1 先安装 IDEA,如下图,IDEA2022 安装为例: 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者…

MongoDB中的关系

本文主要介绍MongoDB中的关系。 目录 MongoDB的关系嵌入关系引用关系 MongoDB的关系 MongoDB是一个非关系型数据库,它使用了键值对的方式来存储数据。因此,MongoDB没有像传统关系型数据库中那样的表、行和列的概念。相反,MongoDB中的关系是通…

主馆位置即将售罄“2024北京国际信息通信展会”众多知名企聚京城

2024北京国际信息通信展,将于2024年9月份在北京国家会议中心盛大召开。作为全球信息通信技术领域的重要盛会,此次展会将汇集业内顶尖企业,展示最新的技术成果和产品。 目前,主馆位置即将售罄,华为、浪潮、中国移动、通…

数据结构(Chapter Two -02)—顺序表基本操作实现

在前一部分我们了解线性表和顺序表概念,如果有不清楚可以参考下面的博客: 数据结构(Chapter Two -01)—线性表及顺序表-CSDN博客 首先列出线性表的数据结构: #define MaxSize 50 //定义顺序表最大长度 typedef struct{ElemType data…