【11】STM32·HAL库开发-STM32CubeMX简介、安装

2023-11-15

1.STM32CubeMX简介(了解)

  STM32CubeMX是ST开发的一款图形配置工具,可通过配置自动生成初始化代码(并不包括逻辑代码)。以下是STM32CubeMX官方宣传图片,适用于Windows和macOS系统,用于生成初始化代码,一个图形配置工具,搭配不同系列的STM32Cube固件包,即可支持不同系列的STM32芯片,初始化代码使用的是HAL库。
在这里插入图片描述

2.STM32CubeMX安装(了解)

2.1STM32CubeMX软件获取

2.1.1获取Java软件

  Java下载链接
在这里插入图片描述

2.1.2获取STM32CubeMX软件

  STM32CubeMX软件下载链接,首次下载需要注册,注册完点击邮箱中的验证,即可进行下载。
在这里插入图片描述

2.2搭建Java运行环境

1.选择合适的版本进行安装:64位电脑选择x64, 32位电脑选择X86;
2.检测是否正常安装:Win+R输入cmd,打开指令窗口,输入java -version(java后面有个空格

在这里插入图片描述

2.3安装STM32CubeMX软件(必须先2.2再2.3

  双击”SetupSTM32CubeMX-6.3.0-Win.exe”,然后按部就班进行安装,建议不要安装在C盘,占用系统盘内存安装路径不能有中文字符

2.4下载和关联STM32cube固件包

  建议在D盘新建一个仓库用于存放STM32Cube固件包,路径:D:\STM32Cube\Repository。需要自己创建文件夹。然后打开软件,【Help】->【Updater Settings】->设置仓库所在路径(我这里安装到了与STM32CubMX相同目录,只要方便找到即可)->【OK】:
在这里插入图片描述
  下面就是关联固件包:【Help】->【Manager embedded software packages】->有两种关联方式:1、联网下载自动解压到路径D:\A_worksoftware\STM32Cube\Repository中。2、本地关联,要找到下载的压缩包或者直接将解压好的整个文件夹复制到路径中。->选择自己要开发的STM系列,进行安装即可方框中显示绿色表示安装成功
在这里插入图片描述

3.新建STMCubeMX工程步骤(熟悉)

  STM32CubeMX用户手册下载链接,该手册说明了STM32CubeMX如何使用,可以作为参考。

在这里插入图片描述

3.1工程初步建立

  新建工程,选择芯片型号。【File】->【New Project】(首次点击需要下载一些东西)。->双击芯片型号。
在这里插入图片描述

  可以点击芯片型号前面的⭐,点击左上角的⭐即可快捷找到自己经常使用的型号。

在这里插入图片描述

3.2时钟模块配置

  设置HSE(高速外部时钟)、LSE(低速外部时钟)、MCO(芯片往外部输出的时钟)。【System Core】->【RCC】->【HSE】选择【Crystal/Ceramic Resonator】(外部时钟);【LSE】也选择外部时钟。如果点击【Master Clock Output】会让特定的IO口往外部输出时钟频率(此处以跑马灯为例,不需g要勾选此项)。
在这里插入图片描述

3.3时钟系统配置

  PLL(锁相环)、SYSCLK(系统时钟)、AHB、APB1、APB2等等(不同系列设置不同)。时钟系统在【Clock Configuration】配置,我的开发板是8Mhz的高速外部时钟HSE——>锁相环PLL选择HSE路线——>系统时钟SYSCLK选择锁相环时钟PLLCLK,选择倍频使得SYSCLK系统时钟为180MHz或者在框中直接输入——>选择APB1分频使得红色警告消失。
在这里插入图片描述

在这里插入图片描述

3.4GPIO引脚配置

  以连接在LED灯的IO为例介绍如何配置。阿波罗开发板LED0连接在PB1引脚,LED1在PD2引脚。回到【Pinout & Configuration】界面——>右下角搜索PD2,芯片引脚会闪烁,单击【PD2】引脚——>【GPIO_Output】。同理,PA8也是【GPIO_Output】。
在这里插入图片描述

在这里插入图片描述

  配置输出速度等:【System view】——>【GPIO】——>选择要配置的引脚,配置【GPIO output level】为High(由于LED0、LED1外接高电平,引脚为高电平时灯熄灭,所以设置默认模式为高电平)、【GPIO mode】为Output Push Pull推挽输出或者Output open drain开漏输出都可、【GPIO Pull-up/Pull-down】无上拉或下拉、【Maximum output speed】为Low、【User Label】设置宏令PA8为LED0,令PD2为LED1。
在这里插入图片描述

在这里插入图片描述

3.5Cortex内核配置

  SYS( DEBUG )配置、NVIC(优先级分组)。【SYS】——>【Debug】选择Senal Wire(也就是SW模式)。
在这里插入图片描述

  【NVIC】——>【Priority Group】配置中断优先级分组为2
在这里插入图片描述

3.6生成工程源码

  设置工程,MDK等,最后生成代码工程。【Project Manager】——>【Project Name】设置工程名——>【Project Location】设置工程保存路径——>【Appication Structure】选择先进型模板或基础型模板,先进型模板将基础型模板中的inc和Src文件放到了Core文件中。——>【Toolchain/IDE】选择编译器【Min Version】选择版本——>【Firmware Package Name and Version】选择固件包版本。其他为默认即可
在这里插入图片描述

在这里插入图片描述

  【Code Generator】——>选择仅复制需要的HAL库文件,并且将.c和.h分开放置到Core文件夹中。——>Ctrl+S保存文件。——>点击左上角的【GNERATE CODE】
在这里插入图片描述

3.7编写用户程序

  在main.c文件预留的位置编写代码。一定要写在BEGIN和END之间,否则在生成代码时会被覆盖。将程序下载到开发板,可以看到LED灯交替闪烁。
在这里插入图片描述

4.总结

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【11】STM32·HAL库开发-STM32CubeMX简介、安装 的相关文章

  • Java-手动抛出异常

    Java 手动抛出异常 1 概念 关于异常对象的产生 系统自动生成的异常对象 手动生成一个异常对象 并抛出 throw 2 code举例 package p8exception p9 public class StudentTest pub
  • NRZ、NRZI编码

    RZ 编码 Return to zero Code 归零编码 在 RZ 编码中 正电平代表逻辑 1 负电平代表逻辑 0 每传输完一位数据 信号返回到零电平 信号线上会出现 3 种电平 正电平 负电平 零电平 从图上就可以看出来 因为每位传输
  • 数据分析系列之数据预处理

    在数据挖掘过程中 海量的原始数据存在大量的不一致 有缺失的数据 严重影响到数据挖掘的效率和准确率 数据清洗尤为重要 数据清洗之后进行或同时进行数据集成 转换 规约等一系列过程 该过程就是数据预处理 数据预处理一方面提高数据质量 另一方面使数

随机推荐

  • Intel Application 应用设备队列(ApplicationDevice Queues,ADQ) 与 动态设备个性化(Dynamic DevicePersonalization,DDP)

    英特尔X800系列十万兆以太网卡 支持ADQ与DDP优化 应用设备队列 ApplicationDevice Queues ADQ netdev2020 动态设备个性化 Dynamic DevicePersonalization DDP 应用
  • l298n

    L298N是专用驱动集成电路 属于H桥集成电路 与L293D的差别是其输出电流增大 功率增强 其输出电流为2A 最高电流4A 最高工作电压50V 可以驱动感性负载 如大功率直流电机 步进电机 电磁阀等 特别是其输入端可以与单片机直接相联 从
  • Git bash命令行密码登录失败,提示remote: Support for password authentication was removed。避免每次都要输入密码

    目录 问题 原因 基于HTTPS协议 1 创建token令牌 2 重新设置远程仓库地址 基于SSH协议 1 检查系统中是否已存在SSH keys 2 生成新的SSH keys 3 将SSH keys的公钥添加到你的Github账户 4 测试
  • 区块链安全 - 以太坊短地址攻击

    1 基础知识 EVM虚拟机在解析合约的字节码时 依赖的是ABI的定义 从而去识别各个字段位于字节码的什么地方 关于ABI 可以阅读这个文档 https github com ethereum wiki wiki Ethereum Contr
  • java math bigdecimal_java.math.BigDecimal类

    BigDecimal提供算数 标度操作 舍入 比较 哈希算法和格式转换 toString方法提供BigDecimal的规范表示形式 一 静态变量 ONE TEN ZERO 指定值 并返回 ROUND 值从0到7的范围 二 构造函数 new
  • 小米汽车,能否在新能源汽车江湖站稳脚跟?

    最近 圈内都在传小米汽车亦庄工厂已试生产近一个月 每周可产50辆样车 正在为首款新能源汽车量产做最后的准备 此前的业绩交流会上 小米集团总裁卢伟冰透露 小米汽车结束了夏测且进展非常顺利 2024年上半年量产的目标明确 同时 界面新闻的报道也
  • Java进阶篇之RabbitMQ的快速入门(一)

    文章目录 Java进阶篇之RabbitMQ快速入门篇 相关概念 什么是MQ 常见的MQ RabbitMQ RabbitMQ的四大核心概念 RabbitMQ中的各个名词介绍 RabbitMQ的安装 入门案列 Hello World Work
  • absolute导致的高度塌陷问题——解决方法

    前段时间写前端页面排版的时候又又又遇到了absolute导致的父元素高度塌陷的问题 以前代码写的少所以遇到问题就是查查查 问题解决后了一个漫长的学期后又遇到一样的问题又得重新查查查 所以这次索性总结一下 什么是高度塌陷 在文档流中 父元素的
  • 通过CSS3 Media Query实现响应式Web设计

    为什么80 的码农都做不了架构师 gt gt gt OK开始说正经的了 在之前一篇译文中 我们了解了响应式Web设计的概念 组成要素以及基本的实现思路 今天继续相关话题 我们将从前文介绍过的 弹性布局结构 这方面出发 通过一个具体的实例来深
  • Linux系统启动流程详解

    今天继续给大家介绍Linux相关内容 本文主要内容是Linux系统的启动流程 Linux系统启动流程如下图所示 从上图不难看出 Linux系统启动 一共分为步 1 加载BIOS BIOS是Basic Input Output System
  • selenium(3)----JAVA版本

    动态参数的使用 1 先对我们所修饰的方法加上 ParameterizedTest表示这个方法是多参数的一个类 2 MethodSource 数据来源的方法名称 MethodSource也可以不指定方法名称 会自动去找和测试方法同名的静态方法
  • Python 小技巧

    如果你有一个很长的数字变量 a 3000000000 怎么样让它在代码里看起来舒适 并且一下子就能知道它有多少位数呢 在 Python 中可以这么写 a 3 000 000 000 这样与直接 a 3000000000 是等价的 但是代码中
  • C++智能指针作为函数形参和函数返回值的应用场景

    当智能指针作为函数形参时 在调用此函数时 形参代表的智能指针的引用计数将 1 同时退出此函数时 该形参的引用计数将 1 当形参不是智能指针时 调用该函数和退出该函数时 该形参的引用计数不会变化 当函数的内部创建一个智能指针 并需要在函数外使
  • vulhub靶场搭建与使用

    vulhub靶场搭建与使用 1 前言 2 配置yum源 2 1备份原来的源文件 2 2 配置阿里源 2 3重置yum源 2 4更新yum源 3 安装docket 3 1安装docket 3 2启动docket 3 3设置国内镜像源 3 4重
  • 了解 什么是 22 端口

    一 22 是什么端口 22端口就是ssh应用端口 ssh用于远程连接Linux云服务器 一般Linux云服务器要放通22号端口 Windows云服务器需要放通3389号端口 云服务器用户需要在安全组中开放端口后 才可以使用端口对应的服务 在
  • HackInOS靶机渗透writeup

    HackInOS靶机渗透writeup 0x00准备测试环境 导入下载好的HackInOS ova文件后 将网络设置成桥接模式 并使用DHCP分配IP 成功后打开的靶机图如下 0x01渗透过程 使用nmap扫描确定目标机器IP nmap s
  • IT项目管理第6次作业

    IT项目管理第6次作业 一 教材练习6 a 画出该项目的双代号网络图 把节点的号码标在一个圆圈内 画出节点之间的箭线 在每一条箭线上标注代表活动的字母和活动工期 b 按照图6 8表示每条路径的方法 找出网络图中的所有路径并标出它们的长度 路
  • OA项目软件说明书

    最近写了一个OA项目 主要根据这个软件说明书来编写的 此处省略了封面的一些格式不友好的内容 目 录 1 引言 1 1 目的 1 2 定义 1 3 参考资料 2 软件总体概述 2 1 软件标识 2 1 1 项目名称 2 1 2 产品标识 2
  • 2023校园招聘求职报告

    导读 超四成学生选择就业 近三成学生选择继续深造 近两成的学生计划考公务员 还有6 1 的学生有自主创业的想法 从学生反馈来看大家在毕业后的计划多元化趋势明显 选择就业的人数偏少而深造和考公人数比例达到45 受疫情影响和不少行业的升级调整过
  • 【11】STM32·HAL库开发-STM32CubeMX简介、安装

    目录 1 STM32CubeMX简介 了解 2 STM32CubeMX安装 了解 2 1STM32CubeMX软件获取 2 1 1获取Java软件 2 1 2获取STM32CubeMX软件 2 2搭建Java运行环境 2 3安装STM32C