STM32CubeMX使用说明

news2025/7/13 5:11:33

目录

  • 1 软件安装
    • 1.1 软件&环境下载
      • 1.1.1 STM32CubeMX软件下载
      • 1.1.2 Java环境下载
    • 1.2 安装
      • 1.2.1 Java环境安装
      • 1.2.2 STM32CubeMX软件安装
  • 2 软件启动与安装库文件
    • 2.1 软件界面
    • 2.2 修改默认库文件路径
    • 2.3 在线安装固件库
  • 3 新建第一个工程
    • 3.1 新建工程
    • 3.2 选择MCU型号
    • 3.3 设置Debug
    • 3.4 设置时钟
      • 3.4.1 设置时钟源
      • 3.4.2 设置时钟树
    • 3.5 MCU功能设置
    • 3.6 程序配置
    • 3.7 生成工程

1 软件安装

1.1 软件&环境下载

1.1.1 STM32CubeMX软件下载

本过程需要进入ST官网下载STM32CubeMX软件安装包,和进入Java官网下载Java运行环境。
ST官网
STM32CubeMX官网下载地址
STM32CubeMX软件ST中文官网下载地址
【 官网下载界面,点击获取软件,跳转到获取步骤。】
下载页面
【选择版本,点击获取按钮。】
在这里插入图片描述

1.1.2 Java环境下载

因为 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用, 建议到官网下载最新版本JRE。
必须安装Jave运行环境1.8。

Java环境官方下载地址

1.2 安装

上一节中两个文件下载完成后,即可开始安装。

1.2.1 Java环境安装

1.2.2 STM32CubeMX软件安装

安装步骤见下图,无图过程自行下一步;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 软件启动与安装库文件

2.1 软件界面

在这里插入图片描述

2.2 修改默认库文件路径

第一次使用cubeMX软件,建议更改库文件路径,不要默认在C盘的用户文件夹中。
依次点击HelpUpdater Setting
在这里插入图片描述
修改Repository Folder下的文件路径。
在这里插入图片描述

2.3 在线安装固件库

  说明:此步骤也非必须当前安装,如果还不知道自己会用什么系列的MCU,可以暂时不安装,等在生成程序工程的时候,软件会自动下载库文件,或者,也可以根据已有库文件在生成工程时候自行导入。

依次点击HelpManage embedded software packages

在这里插入图片描述
在如下图中,选择自己需要的库文件和版本号,点击Install按钮即可在线安装。

自此,所有安装准备工作完成,即可开始使用。

3 新建第一个工程

3.1 新建工程

进入选择器时会联网更新数据库,可能需要等待一下。
在这里插入图片描述

3.2 选择MCU型号

通过搜索栏搜索自己想添加的MCU 型号,然后在右下方点击对应封装的器件。最后点击开始工程。
在这里插入图片描述

3.3 设置Debug

根据自己下载方式设置对用的debug选项,如果不设置该项,程序只能运行一遍。如果使用串行下载方式(SWDIO,SWCLK)选择Serial Wire。
在这里插入图片描述

3.4 设置时钟

3.4.1 设置时钟源

时钟分类和时钟源选择详见下表

时钟中文名频率来源
HSI高速内部时钟RC振荡器,频率为8MHz
HSE高速外部时钟可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz
LSI低速内部时钟低速内部时钟
LSE低速外部时钟接频率为32.768kHz的石英晶体.
时钟源说明
Disable不使能,使用内部时钟源
BYPASS Clock Source旁路时钟源1
Crystal/Ceramic Resonator外部晶体/陶瓷谐振器

设置如下图所示
在这里插入图片描述

3.4.2 设置时钟树

根据上步选择的时钟源,在时钟树上选择对应的时钟通道【② ③步骤】,然后设置时钟源的频率【①】,最后设置需要的时钟频率【④】,此时各种倍频和分频选择器会自动设置为合适的值。
在这里插入图片描述

3.5 MCU功能设置

到当前步骤,可以去设置一些GPIO或一些内部外设的功能,此处不在枚举。

3.6 程序配置

如下图配置,没有注释的可以保持默认。
在这里插入图片描述
在这里插入图片描述
关于上图一些中英文对照表

英文中文
Copy all used libraries into the project folder将所有使用的库复制到项目文件夹中
Copy only the necessary library files只复制必要的库文件
Add necessary library files as reference in the toolchain project configuration file在工具链项目配置文件中添加必要的库文件作为引用
----------------------------------------------------------------------------------------------------------
Generate peripheral initialization as a pair of ‘.c/…h’ files per peripheral为每个外设生成一对’.c/…h’文件
Backup previously generated files when re-generating重新生成时备份以前生成的文件
Keep User Code when re-generating重新生成时保留用户代码
Delete previously generated files when not re-generated删除以前生成的文件,如果没有重新生成

3.7 生成工程

在这里插入图片描述

本文多方参考各种博客此处不依依列举。关于STM32CubeMX软件的更多详细应用可去官网查看官方文档。参考博客STM32CubeMX中文用户手册下载方法


  1. 无需使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号。犹如芯片内部的驱动组件被旁路了。. ↩︎

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

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

相关文章

30min入手正则表达式

限定符a* a出现任意次a a出现次数不为0a?a出现(1)或不出现a{n}a出现n次a{n,nx}a出现在n——nx次a{2,}a至少出现2次或运算符(a|b)a或者b中选一个(ab)|(cd)ab或…

安卓反编译入门04-对反编译重新打包的APK进行重新签名

重签的前提需要安装java环境,我电脑安装的地址:C:\Program Files\Java\.重签的文件目录地址要在jdk的bin目录.进入命令行,执行 cd/d C:\Program Files\Java\jdk1.8.0_181\bin(注意,由于这个文件C:\Program Files要用管理员权限才能…

HBaseAPI——IDEA操作HBase数据库HBase与Hive的集成

目录 一、IDEA操作HBase数据库 (一)添加依赖 (二)配置log4j (三)IDEA连接HBase并插入数据 1.代码实现 2.查看命名空间的表 (四)java操作HBase数据库——单元测试 1.导包 2.初始化 3.关闭连接 4.创建命名空间 5.创建表 6.删除命名空间下的指定表 7.查看所有的命…

【记录nuxt2项目运行遇到的问题】

背景 前段时间小老弟离职了,之前交给他的nuxt2官网项目又回到了我的手中,然后产品跟我说有几个东西需要优化一下,我说小意思,然后我就clone了最新代码准备露一手,然后…我项目就跑不起来了…理论上来说不应该啊,之前这个项目我开发过,不存在环境上的兼容,然后我就npm,cnpm,yarn…

从0开始自制解释器——实现多位整数的加减法计算器

上一篇我们实现了一个简单的加法计算器,并且了解了基本的词法分析、词法分析器的概念。本篇我们将要对之前实现的加法计算器进行扩展,我们为它添加以下几个功能 计算减法能自动识别并跳过空白字符不再局限于单个整数,而是能计算多位整数 提…

基于轻量级YOLOv5开发构建汉字检测识别分析系统

汉字检测、字母检测、手写数字检测、藏文检测、甲骨文检测在我之前的文章中都有做过了,今天主要是因为实际项目的需要,之前的汉字检测模型较为古老了还使用的yolov3时期的模型,检测精度和推理速度都有不小的滞后了,这里要基于yolo…

rabbitmq集群-普通模式

RabbitMQ的Cluster模式分为两种 普通模式镜像模式 1. 概念解释 1.1 什么是普通模式 普通集群模式,就是将 RabbitMQ 部署到多台服务器上,每个服务器启动一个 RabbitMQ 实例,多个实例之间进行消息通信。 此时我们创建的队列 Queue&#xf…

Android ANR trace日志如何导出

什么是ANR ?上网搜索,一搜一大片,我就说个很容易识别的字眼,XXXAPP无响应 ANR trace日志如何导出?使用ADB命令: adb pull data/anr/trace.txt 你要存放的路径。查看ANR报错位置全局搜索你APP的包名&#x…

基于MATLAB的无线信道的传播与衰落(附完整代码与分析)

目录 一. 一般路径损耗模型 1. 1自由环境下路径损耗 1. 2 考虑实际情况 1.3 考虑阴影衰落 二. 代码仿真与理解 (1)函数文件 (2)函数文件 (3)主运行文件 三. 运行结果及理解 3.1 3.2 3.3 一. …

Nacos2.2.0多数据源适配oracle12C-修改Nacos源码

从2.2.0版本开始,可通过SPI机制注入多数据源实现插件,并在引入对应数据源实现后,便可在Nacos启动时通过读取application.properties配置文件中spring.datasource.platform配置项选择加载对应多数据源插件.本文档详细介绍一个多数据源插件如何实现以及如何使其生效。 文章目录一…

机器人运动|浅谈Time Elastic Band算法

前言在自主移动机器人路径规划的学习与开发过程中,我接触到Time Elastic Band算法,并将该算法应用于实际机器人,用于机器人的局部路径规划。在此期间,我也阅读了部分论文、官方文档以及多位大佬的文章,在此对各位大佬的…

git的使用整合

git的下载和安装暂时不论述了,将git安装后会自动配置环境变量,所以环境变量也不需要配置。 一、初始化配置 打开git bash here(使用linux系统下运行的口令),弹出一个类似于cmd的窗口。 (1)配置属性 git config --glob…

【LLVM系列】基本文件格式和 CFG 生成指令

一、基本文件格式 参考博客:llvm 文件转换图 .c 文件,c语言源代码。.bc 文件,llvm字节码的二进制形式(binary code)。.ll 文件,llvm字节码的文本形式。.s 文件,机器汇编代码。.out 文件&#…

操作系统-整理

进程 介绍 进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大&#…

第十三章:Java反射机制

第十三章:Java反射机制 13.1:Java反射机制概述 Java Reflection ​ Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 ​ 加…

Spring Boot 实现多文件上传

文件上传 Spring Boot代码 代码结构: Controller层 package com.yqifei.upload.controller;import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile;import javax.serv…

ETL --事实表

每一个事实表通过表的粒度来定义。事实表的粒度是事件度量的定义。我们必须至始至终按照度量如何在 现实世界中理解来规定事实表的粒度。 所有的事实表包含了一组关联到维表的外键,而这些维表提供了事实表度量的上下文。大多数的事实表还 包括了一个或者多个数值型…

小樽C++ 多章⑧ (贰) 指针与数组

目录 1.C中数组变量名某些情况可以看成是指针 2.C语言的scanf 输入语句,printf 输出语句 3.用指针来当动态数组 小樽C 多章⑧ (壹) 指针变量https://blog.csdn.net/weixin_44775255/article/details/129031168 小樽C 多章⑧ (叁) 指针与字符串、(肆) 函数与指针…

GitLab 凭借什么连续 3 年上榜 Gartner 应用程序安全测试魔力象限?听听 GitLab 自己的分析

本文来源:about.gitlab.com 作者:Sandra Gittlen 译者:极狐(GitLab) 市场部内容团队 应用程序安全测试(AST)对于应用程序研发来说,是一个正在快速发展并且十分重要的领域。DevOps 方法论提到:需…

Java基础之《dubbo(1)—dubbo基础入门》

一、为什么要使用dubbo 1、dubbo是什么 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 2、dubbo有何特点 (1)远程通讯:提供透明化的远程方法调用,提供…