蓝桥杯开发板STM32G431RBT6高阶HAL库学习FreeRtos——完成第一个小项目点灯

一、配置LED引脚(注意引脚都配置为高电平)

在这里插入图片描述

二、新建两个任务,一个为动态创建,一个静态创建(以后大多数情况进行动态创建)//将两个优先级设置成一样

在这里插入图片描述

在这里插入图片描述
补充:

1.FreeRTOS创建静态任务和动态任务的各自优缺点

静态任务和动态任务的区别,就是一个需要自己建立堆栈,一个不需要自己建立堆栈。
稳定肯定是静态创建高,但是耗内存!任务删除以后这段内存没法释放掉,就只能浪费掉!
动态创建方法可能因为内存不足或者碎片话的情况下导致任务创建失败。

2.任务栈大小

usStackDepth,栈大小,每创建一个任务,系统就会为该任务分配一块内存(堆栈)
单位是字(word),而不是字节(Byte)
在32位机中 (STM32xx)1 word = 4Byte,分配的空间就是stackSize = usStackDepth * 4
默认最小栈大小 configMINIMAL_STACK_SIZE(128

3.任务优先级

优先级必须比这个宏要小,数字越小,优先级越低,与中断相反的(中断数字越小,优先级越高)
configMAX_PRIORITIES 宏大小可随意,这里配置的是32,但最好使用实际需要的最小数值以避免内存浪费
FreeRTOS理论上可支持无限个任务。
如果优先级设置的比configMAX_PRIORITIES 大,会将优先级自动设置为最大优先级configMAX_PRIORITIES

————————————————

保存并生成项目

三、分析代码

3.1 查看FREERTOS初始化函数

在这里插入图片描述

3.2 两个任务创建函数

在这里插入图片描述

3.2 在两个任务函数编写代码(任务一:LED1每隔一秒闪烁,任务二:LED2每隔一秒闪烁)

在这里插入图片描述

3.3 烧录查看效果

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

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

相关文章

react框架,使用vite和nextjs构建react项目

react框架 React 是一个用于构建用户界面(UI)的 JavaScript 库,它的本质作用是使用js动态的构建html页面,react的设计初衷就是为了更方便快捷的构建页面,官方并没有规定如何进行路由和数据获取,要构建一个完整的react项目,我们需要…

3D技术赋能电商行业:“人-货-场”视角下的新变革!

在当今数字化时代,3D技术正以前所未有的方式赋能电商行业,在提升用户体验,优化商品展示,以及打造沉浸式的购。物场景上,重塑了电商行业的面貌,深刻改变着消费者的购物体验和商家的营销策略。 51建模网作为专…

视图库对接系列(GA-T 1400)九、视图库对接系列(本级)机动车数据推送

背景 在上几章中,我们已经可以将视图库的平台写到我们的数据库中了。 换句话说就已经接入我们的平台了,这几期的话,我们就对接设备, 将设备的数据接入到我们平台来。 机动车数据推送 接入机动车数据推送相对比较简单,我们只需要实现对应的接口就ok了。 具体如图: 有增…

RRStudio 下载及安装(详尽版)

R语言来自S语言,是S语言的一个变种。S语言、C语言、Unix系统都是贝尔实验室的研究成果。R 语言是一种解释型的面向数学理论研究工作者的语言,主要用于统计分析、绘图、数据挖掘。 R 语言自由软件,免费、开放源代码,支持各个主要计…

Emacs有什么优点,用Emacs写程序真的比IDE更方便吗?

Emacs 是一个功能强大的文本编辑器,它在开发者和程序员中非常受欢迎,主要优点包括: 可定制性:Emacs 允许用户通过 Lisp 编程语言来自定义编辑器的行为和界面,几乎可以修改任何方面。扩展性:拥有大量的扩展…

C++:类型转换

目录 一、C语言中的类型转换 二、为什么C要新的转换格式 三、 C强制类型转换 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast 一、C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配&…

【高阶数据结构】B-数、B+树、B*树的原理

文章目录 B树的概念及其特点解析B树的基本操作插入数据插入数据模拟 分析分裂如何维护平衡性分析B树的性能 B树和B*树B树B树的分裂B树的优势 B*B*树的分裂 总结 B树的概念及其特点 B树是一颗多叉的平衡搜索树,广泛应用于数据库和 文件系统中,以保持数据…

等保2.0的具体技术要求有哪些重点?

在数字化浪潮汹涌澎湃的当下,网络安全犹如一座守护智慧之城的巍峨城墙,不可或缺。等级保护制度(等保)作为我国网络安全战略的基石,历经岁月沉淀,已演进至2.0时代,即《网络安全等级保护基本要求》…

算法思想总结:优先级队列

一、最后一块石头的重量 . - 力扣(LeetCode) 我们每次都要快速找到前两个最大的石头进行抵消,这个时候用优先级队列(建大堆),不断取堆顶元素是最好的!每次删除堆顶元素后,可以自动调整&#xf…

HarmonyOS - 通过.p7b文件获取fingerprint

1、查询工程所对应的 .p7b 文件 通常新工程运行按照需要通过 DevEco Studio 的 Project Structure 勾选 Automatically generate signature 自动生成签名文件,自动生成的 .p7b 文件通常默认在系统用户目录下. 如:C:/Users/zhangsan/.ohos/config/default…

JavaSE面试题(二)

目录 一.为什么会有Java内存模型? 二.什么样的情况下finally不会执行 三.钩子是什么? 四.编译时期的多态性和运行时期的多态性 五.谈谈反射机制 六.Java管道 本专栏全是博主自己收集的面试题,仅可参考,不能相信面试官就出这…

TCP报文校验和(checksum)计算

一. 原理 将TCP相关内容&#xff08;TCP伪头部TCP头部TCP内容&#xff09;转换成16比特的字符&#xff0c;然后进行累加&#xff0c;最后结果进行取反。TCP伪头部是固定的&#xff0c;下文有相关代码展示。 二. 源码 源码 #include <stdio.h> #include <stdlib.h&…

3D鸡哥又上开源项目!单图即可生成,在线可玩

大家好&#xff0c;今天和大家分享几篇最新的工作 1、Unique3D Unique3D从单视图图像高效生成高质量3D网格&#xff0c;具有SOTA水平的保真度和强大的通用性。 如下图所示 Unique3D 在 30 秒内从单视图野生图像生成高保真且多样化的纹理网格。 例如属于一张鸡哥的打球写真照 等…

js 递归调用 相同对象--数组递归调用

<div class="save-cl"> <a-button @click="saveCl" >保存为常用策略</a-button> </div> saveCl(){ console.log(this.form.filterList[0],--------常用策略)// 此对象为上图对象 console.log(this.allElementsHaveValue(thi…

Windows的管理工具

任务计划程序&#xff1a;这是一个用来安排任务自动运行的工具。你可以在这里创建新的任务&#xff0c;设定触发条件&#xff0c;并指定任务的操作。 事件查看器&#xff1a;这是一套日志记录和分析工具&#xff0c;&#xff0c;你可以了解到系统的工作状况&#xff0c;帮助诊…

损失函数篇

损失函数 1、边界框损失函数/回归损失函数bbox_loss 2、分类损失函数cls_loss 3、置信度损失函数obj_loss YOLOv8损失函数 1、概述 通过YOLOv8-训练流程-正负样本分配的介绍&#xff0c;我们可以知道&#xff0c;经过预处理与筛选的过程得到最终的训练数据&#xff1a; a…

2024 年最佳 Figma 字体

字体不仅仅是文本字符&#xff0c;它们还塑造了用户体验。从引导用户浏览界面到传达品牌个性&#xff0c;字体对于设计​​至关重要。然而&#xff0c;找到适合您的网站或应用风格的完美字体可能具有挑战性。 但不要害怕&#xff0c;我们会帮助您&#xff01;请继续关注&#x…

C语言 指针和数组——指针的算术运算

目录 指针的算术运算 指针加上一个整数 指针减去一个整数 指针相减 指针的关系比较运算 小结 指针的算术运算 指针加上一个整数 指针减去一个整数 指针相减 指针的关系比较运算 小结  指针变量 – 指针类型的变量&#xff0c;保存地址型数据  指针变量与其他类型…

负载均衡(服务器)

vi /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network 防火墙 systemctl stop firewalld systemctl disable firewalld vi /etc/selinux/config setenforce 0 yum install gcc gcc-c mkdir /lnmp cd /lnmp/ tar -zxvf zlib-1.2.12.tar.gz tar -zxv…

[C++][CMake][CMake基础]详细讲解

目录 1.CMake简介2.大小写&#xff1f;3.注释1.注释行2.注释块 4.日志 1.CMake简介 CMake是一个项目构建工具&#xff0c;并且是跨平台的 问题 – 解决 如果自己动手写Makefile&#xff0c;会发现&#xff0c;Makefile通常依赖于当前的编译平台&#xff0c;而且编写Makefile的…