一、STM32CubeMX 简介

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。

二、CubeMx需要安装的组件

  1. JRE(Java Runtime Environment)

    Java运行环境 运行JAVA程序所必须的环境的集合,由于java的安装比较简单,这里我就不详细说明了。

    Java官网:https://www.java.com/en/download/manual.jsp
  2. STM32CubeMX

    CubeMX官网:https://www.st.com/en/development-tools/stm32cubemx.html
  3. HAL库

    STM32 HAL固件库是ST官方推出的另一套库

三、下载CubeMX

  1. 切换网页语言

  2. 选择STM32软件开发套件

  3. 选择STM32CubeMx

  4. 下载自己需要的软件

四、安装CubeMX

  1. 打开软件安装包

  2. 同一协议

  3. 勾选第一个即可,第二个选项是是否同意ST公司收集你的个人使用信息等。

  4. 选择安装路径

  5. 会提示安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续,点击YES即可

  6. 直接点NEXT

  7. 安装完成,点Done退出

五、更改CubeMx资源路径

  1. Help -> Updater Settings

  2. 资源路径



    注意:资源路径中不能有中文出现

六、安装HAL库

在线安装

  1. 打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages

  2. 选择需要安装的芯片型号和版本

  3. 安装完成后如下图:

离线安装

  1. HAL库下载



  2. 直接导入安装包 Help -> Manage embedded software packages ->From Local 选择离线包即可

七、使用CubeMx生成HAL

  1. 新建工程

  2. 选择芯片型号

  3. 设置调试器,默认是关闭的,如果不使用调试器关闭即可

  4. 设置外部时钟,默认是使用的内部时钟

    打开外部时钟



    设置时钟评率



    将时钟评率设置为72MHz,有不明白的可以看STM32时钟系统的配置寄存器和源码分析

  5. 设置LED引脚

  6. 设置引脚模式

  7. 设置工程

  8. 生成工程

八、修改程序

  1. 打开工程



    注意:编写代码时需要编写在一对注释之间,这样再次生成代码时不会被覆盖

  2. 在mian.c文件的while循环中加入以下代码

    HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12);
    HAL_Delay(1000);

    如下图所示:

  3. 编译下载测试

参考文献

STM32 CubeMx使用教程一--安装教程:https://blog.csdn.net/as480133937/article/details/98885316

STM32 CubeMx使用教程的更多相关文章

  1. 转载:百为STM32开发板教程之十二——NAND FLASH

    http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二——NAND FLASH 参考资料:百为stm32开发板光盘V3\百为stm32开发 ...

  2. 转载:百为STM32开发板教程之十一——NOR FLASH

    转载:http://bbs.21ic.com/icview-586199-1-1.html 百为STM32开发板教程之十一——NOR FLASH 参考文档:百为stm32开发板光盘\st官方参考资料\ ...

  3. STM32 Cubemx 输出可调频率与占空比的PWM

    这里就不对STM32的PWM进行讲解了,想要了解的可以百度一下,这里主要说怎么实现. 1.建立工程,我选的是STM32F103zet6芯片,选择定时器的PWM功能 2.配置时钟,我这里配的是内部时钟, ...

  4. 基于STM32F030F4P9和STM32 CUBEMX 输出PWM波形

    STM32F030F4P9定时器功能比较丰富,在此记录项目中使用其自动输出PWM波形(频率:50HZ).CubeMX配置定时器如下图说明. 在此定时器基础时钟为48MHZ,配置中不做分频处理,预分频系 ...

  5. stm32 cubemx hal 工程中 微秒延迟 delay_us

    参考的正点原子的代码 测试平台 stm32f429i-disco 配了一个gpio 时钟 gpio /* USER CODE BEGIN 0 */ typedef uint8_t u8; typede ...

  6. STM32 Cubemx 配置定时器定时1mS

    最近才发现原来我把定时器里的配置参数代表的意义给搞混了,这里记录一下,防止以后自己忘记. 以建立一个定时1mS定时器为例: 1.先打开定时器 2.配置好时钟 3.配置定时器设置 重点来了,以前在这里我 ...

  7. stm32 cubemx hal dma uart参考例程,发送和接收

    参考:https://blog.csdn.net/toopoo/article/details/80012317https://blog.csdn.net/morixinguan/article/de ...

  8. STM32零基础入门教程

    本文主要是针对想了解STM32,手里又没有太多预算的小伙伴.市场上针对新手来说,比较合适的STM32开发版太贵,比如正点原子.树莓派等,便宜的教程又不详细,这对想白嫖的小伙伴来说不太有好,所以我选了一 ...

  9. stm32软件编程的框架及注意事项——rtos篇

    0.通常,嵌入式软件(这里指单片机系统)的框架千变万化,有带rtos的,也有裸机的. 0.1.写过带系统的,也写过裸机的,这里总结一下两个类型的框架,记录下自己的心得,主要是文字描述,框架图可以后期添 ...

随机推荐

  1. 微信小程序开发:python+sanic 实现小程序登录注册

    开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...

  2. 【promise| async/await】代码的控制力

    什么样的代码好控制? 结构 + 节奏 --- 什么鬼? 如何控制节奏? 具体例子看看怎么控制节奏?

  3. java中什么是Interface接口, 请给个实例!

    1.Interface接口的定义和用法  先直接上大白话:马克-to-win:接口就是灰常灰常抽象的抽象类,我们可以就像用抽象类一样用接口,只不过,interface抽象到不能再抽象了,以至于里面不能 ...

  4. eBPF Cilium实战(1) - 基于团队的网络隔离

    在 Rainbond 集群中,每个团队对应于底层 Kubernetes 的一个 Namespace ,由于之前使用的底层网络无法进行 Namespace 级别的网络管理,所以在 Rainbond 同一 ...

  5. 基于STM32单片机的简单红外循迹的实现

    初步接触STM32,采用两路红外传感器实现小车循迹,稍显简略,如有不好的地方,欢迎大家指点改正

  6. i.MX rt 系列微控制器的学习记录

    杂记 前言 我总是很希望自己能产生一种感知电压变化的能力,就像B站上的教学动图中,电流从电源流出时导线就像LED亮起来一样,我将指尖触到导线上就能感受到实时的电压变化.我在上学和工作时经常由于无法理解 ...

  7. toggleClass() 把本来的有的类名去掉 本来没有的 加上

    连续点击按钮可以交替颜色,就是改变class

  8. JavaScript基础第01天笔记

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  9. flutter常用命令--不定期更新

    // 更新flutter flutter upgrade // Dart 构造函数默认值 ImageGridView({Key key, this.imgs, this.isEdit: false}) ...

  10. JS加载不出来 必须alert才可以 alert另一种功能

    BEGIN; 今天在引入百度编辑器时,发现百度编辑器加载不出来. 代码是这样的: var editor = new baidu.editor.ui.Editor({    textarea: 'con ...