STM32CubeMX系列教程0:创建工程


  STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP, Graphics, 等等).

  • 直观的STM32微控制器的选择和时钟树配置
  • 微控制器图形化配置外围设备和中间件的功能模式和初始化参数
  • C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。

使用STM32CubeMX工具创建工程,能够及其方便的配置芯片的各种外设与功能。加快项目的开发进程
这里以配置一个LED灯的闪烁为例,进行讲解

1、创建工程

打开STM32CubeMX软件
在这里插入图片描述

  1. 新建工程。
  2. 加载工程。
  3. 选择一个MCU。

直接点击选择一个MCU。
在这里插入图片描述

  通过搜索,或筛选,找到所需要的MCU型号,这里我使用的是STM32F411CEU6。点击选中,上方会显示所选芯片的信息。双击所选芯片进入工程。
在这里插入图片描述

2、配置外设

进入工程配置界面
在这里插入图片描述

开启SWD调试功能

打开System Core选项卡,单击SYS选项。
在这里插入图片描述

选择Debug设置为Serial Wire。选中同时,右侧单片机上会显示所占用的引脚以及功能。
在这里插入图片描述

使能外部时钟

如果单片机系统中有外部时钟则进行设置,如果没有可跳过。
打开System Core选项卡,单击RCC选项。
选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
选择LSE(外部低速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
在这里插入图片描述

选择GPIO

做右侧单片机上,选择LED灯所连接的IO端口。左键单击,选择输出模式.
在这里插入图片描述

设置为输出模式后,在IO上右键单击,设置用户标签,设置为LED
在这里插入图片描述

配置GPIO

打开System Core选项卡,打开GPIO选项,单片机上所有被占用的引脚都在这里进行配置,选中所要配置的引脚.
在这里插入图片描述

  1. GPIO上电后的默认输出电平.
    这里根据需要设置,我这里设置为高电平,上电时LED灯熄灭.
  2. GPIO输出模式.(推挽输出/开漏输出模式)
    这里我设置为推挽输出模式.
  3. GPIO上拉或下拉设置.(浮空,上拉,下拉)
    这里我设置为上拉.
  4. GPIO输出速度.(低速,中速,高速,非常高)
    默认即可.
  5. GPIO用户标签.
    可以在右侧MCU上设置,也可以在这里进行设置.

3、配置时钟系统

点击顶部的时钟配置.
如果在前一步使能了外部高速时钟和外部低速时钟,这里才可进行以设置。
分别填入MCU系统所使用的时钟频率.
外部低速时钟一般都为32.768KHz,这里默认即可.
外部高速时钟需要根据实际使用晶振频率进行设置.
在这里插入图片描述
选择外部时钟源.在HCLK处输入推荐时钟频率,点击回车,即可自动完成配置.
设置推荐时钟频率100M.点击回车,自动完成配置.
在这里插入图片描述

4、工程输出设置

工程设置

点击顶部工程管理,设置工程名称,设置工程保存路径.
注意:工程路径中不允许含有中文.否则会输出错误
选择开发环境,如果使用keil开发,则选择MDK-ARM.
在这里插入图片描述

源码输出设置

点击左侧Code Generator.选中仅复制需要的库,否则生成的工程会很大.
选择将外设配置为单独的.c和.h文件.
在这里插入图片描述

生成源码工程

点击右上角生成按钮
加粗样式点击即可使用keil打开工程.
在这里插入图片描述

5、写入用户代码

进入main.c文件.
在这里插入图片描述
在#include "main.h"上右键进入main.h中.
在这里插入图片描述
往下翻,可以找到之前在STM32CubeMX中定义的IO引脚标签.
在这里插入图片描述

回到main.c,找到主函数入口,找到主循环.
在这里插入图片描述

在code begin与code end直之间写入用户代码.否则在STM32CubeMX中修改配置在生成源码时,会清空code begin与code end之外的代码.

		HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin); //取反GPIO
		HAL_Delay(500); //软件延时500ms

程序功能是LED灯每隔500ms改变一次状态.

编译

左上角有两个按钮,分别是

  1. 编译目标文件(编译快);
  2. 编译所有文件(编译慢);

一般每次生成工程后的第一次编译工程使用编译所有文件,后面年只需要编译目标文件即可.这里我们点击2
在这里插入图片描述
显示如下信息就说明编译完成,并且没有报错与警告.
在这里插入图片描述

下载

下载方法请进入STM32下载方法章节查看.

  • 13
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: STM32CubeMX是一款官方开发的集代码生成、配置、调试为一体的IDE,能够快速地生成STM32的初始化代码。对于初学者来说,学习STM32,理解硬件芯片、外设的原理和使用方法,是个非常困难的过程。STM32CubeMX通过简单的配置界面,帮助开发人员自动生成大部分的代码,简化开发流程,大大降低了学习成本,同时也提高了开发效率。 STM32CubeMX的使用方法非常简单,用户只需要通过图形化配置界面设置单片机的型号、系统时钟、时序、外设等参数,就可以自动生成基于HAL库的初始化代码,并根据用户需求生成可用的Makefile文件工程工程文件等。学习STM32的过程中,STM32CubeMX可以作为一个好的指导和辅助工具,帮助学生理解和掌握硬件原理和操作方法。 值得一提的是,STM32CubeMX的开发者工具不仅仅支持C语言,还支持其他高级语言(例如Python等)的调试,这为开发人员提供了更加多元和完善的开发环境。同时,STM32CubeMX官方文档也非常详细,提供了丰富的应用案例和使用技巧,为学生和开发人员提供了很好的学习和参考材料。 总的来说,STM32CubeMX是初学者学习STM32的好工具,它的使用简单、效率高、功能强大、文档详尽,为初学者减轻了很多“学习STM32”的负担。但需要注意的是,对于复杂的应用场景,需要进一步深入学习和掌握STM32的硬件原理和驱动机制,并深入了解和加强HAL库的代码实现。 ### 回答2: STM32CubeMX是一个图形化的配置工具,用于为STMicroelectronics的STM32微控制器生成硬件初始化代码。利用STM32CubeMX,可以轻松地配置器件并生成基本初始化C代码,以便快速上手、开发、测试和评估STM32产品。因为其方便易用、自动生成初始化代码、支持多种mcu芯片的特性,一经推出就备受欢迎。 为了更好地使用STM32CubeMX,需要熟悉其使用方法和总体架构。首先,使用STM32CubeMX时需要选择芯片系列和型号,然后可以通过可视化界面配置芯片引脚、时钟设置、外设使用等。配置完成后,可以生成或导出代码,并在开发环境中使用此代码进行开发。 此外,学习STM32CubeMX还需要掌握一些基础知识,例如MCU的工作原理、外设的功能和使用方法、时钟的作用和配置等。掌握这些知识可以更深入地理解STM32CubeMX的工作原理,并能更快速地进行产品开发。 另外,STM32CubeMX还提供了大量的Demo和使用案例,这些可以帮助开发者更好的理解使用和实现,对新手学习非常有帮助。 综上所述,STM32CubeMX是一个强大的开发工具,具有方便易用、支持多种芯片、自动生成初始化代码等特点。学习STM32CubeMX需要掌握一些基础知识,如MCU工作原理、外设功能和使用方法、时钟配置等。同时还需通过大量的练习和实践,尝试自己的创新,从而更好的了解和掌握该工具。 ### 回答3: STM32CubeMX是由STMicroelectronics公司开发的一款STM32微控制器的软件配置工具。它能够自动生成C代码,帮助用户快速创建基本的项目模板。此外,STM32CubeMX还可以帮助用户配置STM32微控制器的硬件外设、时钟和电源管理等选项,使得开发者可以更加专注于应用程序的开发。 使用STM32CubeMX的第一步是创建新项目。用户可以选择产品系列、型号和需要使用的软件包。在创建项目后,用户可以开始配置微控制器的硬件外设。STM32CubeMX支持各种常用的硬件外设,包括GPIO,UART,SPI,I2C,ADC等,用户可以自由地配置这些外设,以满足自己的需求。 除了硬件配置外,STM32CubeMX还可以配置微控制器的时钟和电源管理。用户可以通过简单的界面来配置时钟树和电源选项,包括PLL,HSI,LSE,LSE等。配置好之后,STM32CubeMX将自动生成C代码,包括时钟初始化、中断向量表等。 总之,STM32CubeMX是一个非常强大的STM32开发工具,它可以大大简化开发过程,提高开发效率。即使是初学者,也可以通过学习相应的教程和文档,快速上手STM32CubeMX,并开发出卓越的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌新程序猿~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值