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

    文章

    2088

    浏览量

    55136
  • stm32cubemx
    +关注

    关注

    5

    文章

    287

    浏览量

    17149
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用STM32CubeMX的时候创建的工程已经使用的板载资源如何去掉?

    在使用STM32CubeMX的时候创建的工程已经使用的板载资源如何去掉?在基于开发板进行工程创建的时候会把板载资源直接初始化,后面想要用不同的功能配置,如何把初始
    发表于 07-22 07:13

    对于在STM32CubeMx使用FMC中的NAND FLASH里面配置这些时间有什么说明吗?

    对于在STM32CubeMx使用FMC中的NAND FLASH里面配置这些时间有什么说明吗?
    发表于 07-21 07:07

    STM32CubeMX配置STM32G070RBT6TR时为什么无法使能PVD中断?

    STM32CubeMX 配置STM32G070RBT6TR时无法使能PVD中断
    发表于 06-18 07:59

    STM32CubeMX配置STM32G070RBT6TR时无法使能PVD中断怎么办?

    STM32CubeMX 配置STM32G070RBT6TR时无法使能PVD中断
    发表于 06-16 06:32

    STM32开发入门进阶必备!《STM32嵌入式系统开发—基于STM32CubeMX和HAL库》新书发布!

    近日,由华清远见教育科技集团精心编撰的教育部高等学校电子信息类专业教学指导委员会规划教材、普通高等教育电子信息类专业系列教材——《STM32嵌入式系统开发—基于STM32CubeMX和HAL库》重磅
    的头像 发表于 04-03 14:54 1366次阅读
    <b class='flag-5'>STM32</b>开发入门进阶必备!《<b class='flag-5'>STM32</b>嵌入式系统开发—基于<b class='flag-5'>STM32CubeMX</b>和HAL库》新书发布!

    STM32CubeMX无法打开.ioc文件怎么解决?

    我的STM32CubeMX不能打开别人的工程文件,双击打开.ioc文件后会全白,只剩左上角有个home,什么也点不了,但是我自己可以创建工程,也可以打开我自己创建的工程。请问我该如何解
    发表于 03-12 07:39

    用TouchGFX生成的工程,再使用STM32CubeMX生成MDK工程,下载时报错是怎么回事?

    我在用TouchGFX生成的工程,再使用STM32CubeMX生成MDK工程,编译后没有出错,再是在下载时报错: 如果不加载这个算法文件,那么按键图标就是乱码。
    发表于 03-11 06:50

    使用STM32CubeMX生成FreeRTOS的MDK工程,选择AC6编译器有很多错误,为什么?

    使用STM32CubeMX生成FreeRTOS的MDK工程,选择AC5编译器可以编译成功,选择AC6编译器有很多错误,是STM32CubeMX生成FreeRTOS的MDK工程还不支持A
    发表于 03-11 06:32

    STM32CubeMX生成的FreeRTOS源码格式如何优化?

    如图,STM32CubeMX生成的FreeRTOS源码格式有待优化,空格都是以箭头的方式呈现,观感很差。FreeRTOS官方下载的源码则不存在这个问题,说明是STM32CubeMX生成源码的过程出现的格式问题,希望ST官方能对
    发表于 03-10 08:04

    stm32cubemx按照配置重新生成工程,bsp_SysTick.c一直没有呢?

    stm32cubemx按照配置重新生成工程,bsp_SysTick.c一直没有呢
    发表于 03-10 07:44

    使用STM32CubeMX生成CMake工程中的FLASH.ld被更改怎么解决?

    使用STM32CubeMX生成CMake工程之后,对STM32xxxx_FLASH.ld进行了修改。然后再次使用STM32CubeMX工程
    发表于 03-10 06:52

    STM32CubeMX用于STM32配置和初始化C代码生成

    电子发烧友网站提供《STM32CubeMX用于STM32配置和初始化C代码生成.pdf》资料免费下载
    发表于 02-26 17:32 678次下载

    工程师开发利器:STM32CubeMX 与 eDesignSuite 的协同开发

    电源效率,并通过 CubeMX 配置 STM32 的低功耗模式。电机控制与代码集成在电机控制项目中,eDesignSuite 生成的算法代码可直接嵌入 STM32CubeMX 生成的
    的头像 发表于 02-26 14:07 1115次阅读
    <b class='flag-5'>工程</b>师开发利器:<b class='flag-5'>STM32CubeMX</b> 与 eDesignSuite 的协同开发

    使用stm32cubeMX无法生成mdk工程文件?

    几年前使用过cubemx,可以生成keil的工程文件。最近有个工程使用cubemx创建,结果只能生成stm32cubemx类型的文件,无法生
    发表于 01-04 20:03

    STM32CubeMX的菜单介绍

    相信初学者打开STM32CubeMX一定是一脸懵逼,里面都是全英文的,不知道从何入手。这里先给大家简单讲解一下。在新建工程这一栏里,我们最常用的是第一个,它会弹出一个芯片列表供你选择,然后就会创建一
    的头像 发表于 12-25 21:03 692次阅读
    <b class='flag-5'>STM32CubeMX</b>的菜单介绍