0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32CubeMX新建工程+ 基本IO配置过程

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-25 10:47 次阅读

Ⅰ、写在前面

学习本文之前可以查看我前面的文章:

STM32CubeMX介绍、下载与安装

STM32CubeMX使用方法及功能介绍

本文接着上一篇文章结合基本IO配置实例,讲述关于STM32CubeMX新建工程的过程。最终通过STM32CubeMX工具配置完成一个驱动IO(点亮LED)的软件工程,也就是通过STM32CubeMX配置完成之后,打开工程直接下载就能点亮LED的工程。

本文使用Keil(MDK-ARM) V5软件为编译环境,如果你没有安装最新版本的软件,请安装最新版本的软件,具体过程可以参考我的一篇文章:

MDK-ARM下载与安装

关于本文的更多详情请往下看。

Ⅱ、STM32CubeMX新建工程描述

在上一篇文章中简单讲述了新建一个工程的步骤,这里结合实例来讲述新建工程的每一个步骤的细节。

1.打开STM32CubeMX软件,点击“新建工程”

2.选择MCU或选择(ST官方)开发板

A.如果是我们网上购买的,或者自己画的开发板,点击“MCU Selector”进入MCU选择器。选择器在网页上常见,根据自己需求进行选择(我们以STM32F103E为例)。

1.根据“系列”选择;如:F0、F1、F2......F7、L0、L1、L4等;

2.根据“产品线”选择;

3.根据“封装”选择;

4.根据“其他特征”选择;如:FLASH大小、RAM大小、IO数量等。

层层筛选下来,最后就可以看到自己想要的芯片型号,双击“选中”芯片,如下图:

B.如果你的开发板是购买ST官方的开发板(或评估板),点击“Board Selector”进入开发板选择器。(我们以STM3210E-EVAL为例)。

1.根据“厂商”选择;目前只有ST厂商,估计以后会拓展其他厂商;

2.根据“板子类型”选择;

3.根据“芯片系列”选择;

层层筛选下来,最后就可以看到自己想要的芯片型号,双击“选中”芯片,如下图:


上面两种选中的方法类似,以及后面的的配置也很类似,我们下面以第一种选中MCU(STM32F103ZE)为例来讲述。

3.工程配置

在上一步“选中”芯片之后,就进入了工程配置界面。

A.Project ->Settings弹出设置窗口;


B.在弹出的设置窗口有3个选项:

Project工程设置:这个选项是主要设置的选项,配置信息描述在下面;

Code Generator代码生成配置:这个选项是关于代码生成的配置。如:拷贝HAL库的配置、生成.c和.h的配置(一般不用修改,默认配置)。

AdvancedSettings高级设置:这个选项在配置芯片(引脚功能)之后才能设置。


C.Project工程设置,这个选项是配置工程重要的一个选项,其中配置的信息也比较重要,且容易理解。


4.Pinout配置

这接下的配置才是与我们最终运行代码密切相关的,我们这里以简单的配置IO(PF11引脚)驱动LED为例来讲述。

A.放大芯片图标,找到PF11(可以通过Find查找):


B.选中PF11-> 左键 -> 弹出列表 -> 选中“GPIO_Output”


C.配置“晶振”引脚(RCC配置)

如果使用“外部晶振”就还需要继续配置(我们配置HSE为例),包含三个配置:

HSE外部高速时钟、LSE外部低速时钟、MCO时钟输出。


5.Clock配置

这里的配置是比较人性化的配置,结合时钟树,一看就明白(也可以根据参考手册时钟树配置),配置方法一样。


6.“综合”配置

由于我们只配置了PF11引脚,其他功能(如DMAUSB等)没有配置,如果前面配置的有,这里配置的信息就比较多,所以叫“综合配置”。

点击GPIO,弹出配置对话框,按步骤依次填写完信息,点击“OK”就好了:

7.低功耗配置

一般在学习阶段,低功耗配置比较少,在实际项目中配置低功耗需要考虑的东西比较多(包括硬件)。


8.生成代码

在完成上面所有配置之后,最后的工作就是点击“生成代码”按钮:


如果前面配置的生成软件工程,就会拷贝HAL库文件在你的工程:

最后提示打开软件工程(前提是你已经安装了IDE:MDK-ARM)

9.编译下载

打开工程,编译没有错误,没有警告,下载,程序运行;


至此,整个过程就完成了。如果你的开发板LED灯引脚(PF11)和上面配置一样,则下载到开发板,从新复位则可见LED灯亮(低电平点亮LED)。

STM32CubeMX基本IO配置过程(原始版),提供给大家下载地址(360云盘):

https://yunpan.cn/cMm9rBQZNX3H4 访问密码 6735

10.添加代码

上面的工程是简单的工程(配置初始化代码),可以在提示处(如 USER CODE BEGIN)添加自己代码。

我在“USER CODE BEGIN 0”下添加了一个“测试延时”函数; 在“USER CODE BEGIN WHILE”处添加了一个LED亮灭语句。

添加以上两处代码就能实现LED间隔(延时)一段时间亮灭变化。

STM32CubeMX基本IO配置过程(修改版),提供给大家下载地址(360云盘):

https://yunpan.cn/cMmUMDSY8KSgi 访问密码 8304

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 引脚
    +关注

    关注

    16

    文章

    1039

    浏览量

    48923
  • stm32cubemx
    +关注

    关注

    5

    文章

    260

    浏览量

    14438
收藏 人收藏

    评论

    相关推荐

    使用STM32CUBEMX建工程出错的原因?

    使用STM32CUBEMX创建的工程,芯片是STM32H562VGT6,Keil版本是5.38,TouchGFX版本是4.21.3。这是错误提示:no touchgfx library found
    发表于 03-18 08:12

    STM8CubeMXSTM32CubeMX功能一样吗?

    STM8CubeMXSTM32CubeMX功能一样吗?
    的头像 发表于 10-31 16:59 1182次阅读
    STM8<b class='flag-5'>CubeMX</b>和<b class='flag-5'>STM32CubeMX</b>功能一样吗?

    STM32CubeMX介绍,功耗计算,中间件,CAD视图

    ,方便,并且直观的方式来完成这些工作。所有的配置完成后,它还可以根据所选的IDE生成对应的工程和初始化C代码。除此以外,STM32CubeMX还提供了功耗计算工具,可
    的头像 发表于 10-28 08:00 1161次阅读
    <b class='flag-5'>STM32CubeMX</b>介绍,功耗计算,中间件,CAD视图

    基于STM32CubeMX开发U盘访问应用

    电子发烧友网站提供《基于STM32CubeMX开发U盘访问应用.pdf》资料免费下载
    发表于 09-25 09:19 2次下载
    基于<b class='flag-5'>STM32CubeMX</b>开发U盘访问应用

    基于STM32U5 的 STM32CubeMX环境搭建

    基于STM32U5 的 STM32CubeMX环境搭建
    的头像 发表于 09-21 17:35 874次阅读
    基于<b class='flag-5'>STM32</b>U5 的 <b class='flag-5'>STM32CubeMX</b>环境搭建

    STM32CubeMX配置和C代码的生成

    电子发烧友网站提供《STM32CubeMX配置和C代码的生成.pdf》资料免费下载
    发表于 09-20 09:53 4次下载
    <b class='flag-5'>STM32CubeMX</b>的<b class='flag-5'>配置</b>和C代码的生成

    基于STM32CubeMX的GUI应用开发

    熟悉STM32CubeMX配置FMC、LTDC、FreeRTOS、GRAPHICS• 了解如何使用STM32CubeMX创建包含TouchGFX的工程• 了解TouchGFX Des
    发表于 09-11 06:40

    STM32CubeMx配置USART1增加打印功能

    STM32CubeMx配置USART1增加打印功能
    的头像 发表于 08-22 10:32 648次阅读
    <b class='flag-5'>STM32CubeMx</b><b class='flag-5'>配置</b>USART1增加打印功能

    STM32CUBEMX开发GD32F303

    在这使用STM32CUBEMX进行配置STM32F103,移植到兆易创新GD32F303,然后进行测试。
    的头像 发表于 07-27 09:32 939次阅读
    <b class='flag-5'>STM32CUBEMX</b>开发GD32F303

    STM32CubeMx入门教程(4):PWM应用

    导语“使用STM32CubeMx配置定时器输出PWM波,生成初始化代码。”
    发表于 07-11 15:23 897次阅读
    <b class='flag-5'>STM32CubeMx</b>入门教程(4):PWM应用

    STM32CubeMx入门教程(1):点亮LED

    “使用stm32cubeMX 工具进行代码生成,以LED点灯为例”
    发表于 07-11 14:56 2127次阅读
    <b class='flag-5'>STM32CubeMx</b>入门教程(1):点亮LED

    CubeMX配置stm32的DAC

    我们使用 STM32CubeMX 软件进行配置。DAC 的配置是相对很简单的,如下图所示。
    的头像 发表于 06-12 09:18 1927次阅读
    <b class='flag-5'>CubeMX</b><b class='flag-5'>配置</b><b class='flag-5'>stm32</b>的DAC

    STM32CubeMX简介和安装使用方法

    STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。
    发表于 06-07 15:43 1.4w次阅读
    <b class='flag-5'>STM32CubeMX</b>简介和安装使用方法

    STM32CubeMx外部中断基本使用方法

    第一步:现在STM32CubeMx配置所需要IO口外部中断模式。
    发表于 05-31 15:32 2752次阅读
    <b class='flag-5'>STM32CubeMx</b>外部中断基本使用方法

    STM32CubeMX-电机控制1-STM32CubeMX配置部分

    给相同处境的人一些参考; 4. 目前使用的STM32CubeMX版本为5.6.1,不同版本之间配置稍微有些区别; 关于STM32CubeMX在电机控制方面的配置,个人觉得主要分以下几
    发表于 05-06 11:37 1次下载
    <b class='flag-5'>STM32CubeMX</b>-电机控制1-<b class='flag-5'>STM32CubeMX</b><b class='flag-5'>配置</b>部分