1,STM32CubeMX生成第一个freeRTOS工程

news2024/10/9 14:17:59

 1,前言

        本章内容是CubeMX工程配置freeRTOS的demo工程,后续其他本专栏文章中不再提及,默认在本章内容上完成。

        单片机型号:STM32F407

        编程环境    :STM32CubeMX + Keil v5

2,STM32CubeMX新建工程

        双击打开STM32CubeMX软件,选择File(1)->New Project(2)新建工程。也可以直接通过ACCESS TO MCU SELECTOR(3)直接进行新建工程。这两种方法都可以。

        在(1)位置输入自己的芯片型号,在(2)位置双击自己的芯片型号完成芯片选型。

        完成芯片选型后,进入到如下界面。

3,STM32CubeMX的Debug配置

        首先我们来进行Debug的配置,选择System Core->SYS(1)->Debug(2),下拉选择Serial Wire模式,也就是SWD的调试模式。并在下方Timebase Source时基来源(3)中选择TIM14(由于HAL库的默认时基和freeRTOS的默认时基均为系统滴答时钟,可能会有影响,故将HAL库的时基改为定时器)。

4,STM32CubeMX的时钟选择

        接着我们来进行时钟选择的配置,选择System Core->RCC(1),在High Speed Clock(HSE)高速时钟源(2)下拉选择外部时钟Crystal Resonator,在Low Speed Clock(LSE)高速时钟源(3)下拉选择外部时钟Crystal Resonator。

        选择配置完成后,我们可以观察到右侧(4)部分的两组时钟信号引脚变成绿色,说明我们已经成功配置时钟。

5,STM32CubeMX的时钟树配置

        使用外部8MHz高速晶振(1),将系统时钟(SYSCLK)配置为最高频率168MHz,PCLK1配置为最高频率42MHz,PCLK2配置为最高频率84MHz。

        在上方点击Clock Configuration,然后按下图进行配置,本文用的是STM32F407单片机,所以系统最快时钟为168MHz,如果是STM32F103单片机最快系统时钟为72MHz。

6,STM32CubeMX配置串口1

          在Connectivity(1)中选择USART1(2)进行配置串口1,在Mode中下拉选择异步通信方式Asynchronous(3),做好后我们可以看到RX和TX两个引脚已经被配置完毕。

        生成代码后,我们需要在main.c中添加fpuc的重定向和添加#include“stdio.h”头文件。下方红色框中即为所添加内容。

7,STM32CubeMX配置freeRTOS工程

        配置freeRTOS工程。点击Middieware中的FREERTOS(1),在Interface中选择CMSIS_V2(2)这里的版本2是兼容版本1的,下方Configuration区域(3)为配置区这里我们使用默认。

8,STM32CubeMX生成项目工程

        配置完成后,开始生成代码。点击上方Project Manager,在Project中输入项目工程名称(1),选择文件地址(2),选择编写代码的IDE(3)。

        选择Code Generator(1),如图配置(2)仅复制所需文件,(3)生成.c/.h文件。完成后点击GENERATE CODE(4)生成工程文件。

        生成后在文件名/MDK-ARM文件夹中使用Keil5打开工程,进行工程编译(1),编译后0错误0警告(2),至此配置完成。

9,烧录与测试

        在main.c中添加以下内容。

        在freertos.c中添加以下内容。

点击烧录下载,打开串口助手连接串口。复位单片机后可以看到实验结果如下。试验成功!!!

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

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

相关文章

最新2024 LLM大模型学习路线图:从入门到精通的完整路径,收藏一下吧很难找全的!

ChatGPT的出现在全球掀起了AI大模型的浪潮,2023年可以被称为AI元年,AI大模型以一种野蛮的方式,闯入你我的生活之中。 从问答对话到辅助编程,从图画解析到自主创作,AI所展现出来的能力,超出了多数人的预料&…

JSBSim脚本运行结果

JSBSim 读取飞机xml文件:a 1982 Cessna 172P "C:\jsbsim-master\aircraft\c172p\c172p.xml"上面是文件位置,下面是读取的结果 JSBSim Flight Dynamics Model v1.2.0.dev1 Oct 5 2024 21:22:03[JSBSim-ML v2.0]JSBSim startup beginning ...…

15个出色和使用的python库用于制图与GIS分析

用于 GIS 和制图的 Python 库。Python 库是 GIS 的终极扩展,因为它们允许你增强其核心功能。通过使用 Python 库,你可以摆脱 GIS 的束缚,深入研究一些严肃的数据科学。Python有200 多个标准库。但也有数千个第三方库。所以,你能走…

必须保证信号连续的原因

**引言:**本文首先总体叙述了信号线不连续的情况,然后通过仿真,更直观的表达了各种阻抗不连续对传输线带来的影响,最后针对信号线提出了相应的措施。 信号不连续的情况(阻抗不连续) 1、 参考平面不一致 …

Unity实现自定义图集(五)

以下内容是根据Unity 2020.1.0f1版本进行编写的   在Unity编辑器上的自定义图集已经完成了,但是如何将自定义图集文件打包,以及在移动平台将自定义图集和对应的纹理图(Texture)加载出来是个问题,本篇就来解决这些问题 1、思路 首先是自定义图集的打包。 自定义图集实际…

总结β光滑性的推论

文章目录 1. β光滑性的定义2. 补充知识柯西-施瓦茨不等式中值定理 3. β光滑性的推论4. β光滑性推论的证明 1. β光滑性的定义 2. 补充知识 柯西-施瓦茨不等式 中值定理 3. β光滑性的推论 4. β光滑性推论的证明 其中,第4步:使用梯度差的界限中的小于…

实战分析:为什么TAPD是提升团队协作效率的关键工具?

随着企业的不断发展,企业的团队协作能力变得越来越重要,不同类型的企业,在不同的发展阶段,需要的协作方法和工具是不完全相同的。为了在这个快节奏的环境中保持竞争力,许多企业都在寻找能够有效提升团队协作效率的工具…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-04

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-04 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-04目录1. A Multiple-Fill-in-the-Blank Exam Approach for Enhancing Zero-Resource Hallucination Detection in Large Langua…

en造数据结构与算法C# 之 堆排序

堆的特点 堆排序有两个分类:大顶堆,小顶堆 比如大顶堆就是说所有根节点的值都比左右子节点大 en造数据结构与算法C# 二叉排序树 泛型类的基本构成-CSDN博客 en造数据结构与算法C# 之 二叉排序树的增/查-CSDN博客 en造数据结构与算法C# 之 二叉排序…

YOLO11涨点优化:注意力魔改 | 双重注意力机制DoubleAttention,有效地捕获图像中不同位置和不同特征的重要性

💡💡💡本文改进内容: DoubleAttention该网络结构采用双重注意力机制,包括Spatial Attention和Channel Attention,有效地捕获图像中不同位置和不同特征的重要性 💡💡💡本文改进:分别加入到YOLO11的backbone、neck、detect,助力涨点 改进1结构图: 改进2结构图…

『网络游戏』XML配置文件随机名字【12】

首先制作xml模板 在桌面上创建txt自定义重命名water 将以下代码复制在txt文本中修改后缀为.xml <?xml version"1.0" encoding"UTF-8"?> <root> <item ID""> <surname></surname> <man…

科技云报到:云服务的中场战事,从AI应用开始

科技云报到原创。 从去年的大模型之战&#xff0c;到今年的AI应用之争&#xff0c;云服务正在迈入全新的发展阶段。AI这个杠杆将各家厂商的竞争策略更向前推进了一步。 “云AI”能够孵化出多少可能&#xff1f;在业界眼中&#xff0c;“云AI”则意味着新的悬念&#xff1a;云计…

调度台设计厂家智能化管理体系中到底有多重要?

在当今这个信息化、智能化高速发展的时代&#xff0c;调度台作为各类指挥中心、监控中心及应急响应系统的核心枢纽&#xff0c;其设计与制造水平直接关系到整个系统的运行效率与稳定性。因此&#xff0c;选择一家专业、可靠的调度台设计厂家&#xff0c;成为了众多企事业单位在…

微信小程序——婚礼邀请函

一、界面设计 首页&#xff1a; 精美的婚礼主题背景图&#xff0c;可能是新人的婚纱照或浪漫的插画。温馨的欢迎语&#xff0c;如 “欢迎参加我们的婚礼”。一个 “打开邀请函” 的按钮&#xff0c;引导用户进入邀请函详情页面。 邀请函详情页面&#xff1a; 顶部展示新人的照片…

瑞华技术募资额巨降过半:业绩大幅下滑,信用期外应收账款占比高

《港湾商业观察》黄懿 上市的节奏有快有慢&#xff0c;常州瑞华化工工程技术股份有限公司&#xff08;下称“瑞华技术”&#xff0c;920099.BJ&#xff09;自2023年3月被北交所受理后&#xff0c;于2024年8月29日获得注册批文&#xff0c;9月25日正式挂牌上市。 据了解&#…

如何使用pymysql和psycopg2连接MySQL和PostgreSQL数据库

在现代软件开发中&#xff0c;数据库是存储和管理数据的核心组件。Python作为一种流行的编程语言&#xff0c;提供了多种方式来连接和操作数据库。在这篇文章中&#xff0c;我们将探讨如何使用pymysql和psycopg2这两个库来连接MySQL和PostgreSQL数据库。我们将从基础概念开始&a…

【总结分享】10种常用前后端鉴权方法,让你不再迷惘

本文转载自&#xff1a;https://juejin.cn/post/7129298214959710244 作者&#xff1a;易师傅 关于前端鉴权这块&#xff0c;token、cookie、session、jwt、单点登录、扫码登录、一键登录是什么意思&#xff1f;分别有什么作用&#xff1f;你一般是怎么做的&#xff1f;以及你…

No.13 笔记 | 网络安全防护指南:从法律法规到技术防御

一、法律法规 《中华人民共和国网络安全法》要点 遵守法律&#xff1a;所有个人和组织在使用网络时&#xff0c;必须遵守宪法和法律&#xff0c;不得利用网络从事危害国家安全等活动。 个人信息保护&#xff1a;禁止非法获取、出售或提供个人信息。若违反但未构成犯罪&#x…

Mysql 锁机制详情

一&#xff1a;事务四要素 原子性&#xff08;Atomicity&#xff09;&#xff1a;要么全部完成&#xff0c;要么全部不完成&#xff08;通过redo log 日志实现&#xff09;&#xff1b;一致性&#xff08;Consistency&#xff09;&#xff1a;一个事务单元需要提交之后才会被…

CSS调整元素大小

为了增强用户体验&#xff0c;CSS3 中新增了一个非常实用的 resize 属性&#xff0c;该属性允许用户通过拖动的方式来自由缩放元素的尺寸&#xff0c;在此之前要实现类似的效果还需要借助大量的 JavaScript 代码。resize 属性的语法格式如下&#xff1a; resize: none|both|ho…