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


    Ⅰ、写在前面

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

    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.根据“芯片系列”选择;

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

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

    3.工程配置

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

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

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

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

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

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

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

    4.Pinout配置

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

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

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

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

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

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

    5.Clock配置

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

    6.“综合”配置

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

    点击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

    Ⅲ、说明

    以上就是一个“基本IO配置过程”的详细步骤,后续会定期更新使用STM32CubeMX新建各种外设资源工程的文章,敬请等待。

    以上总结仅供参考,若有不对之处,敬请谅解。

    Ⅳ、最后

    更多精彩文章我将第一时间在微信公众号里面分享,对本文有什么疑问可微信留言。

    本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,将有更多精彩内容等着你。

  • 相关阅读:
    [学习笔记&教程] 信号, 集合, 多项式, 以及各种卷积性变换 (FFT,NTT,FWT,FMT)
    [学习笔记] CDQ分治&整体二分
    [日常] NOIp 2018 滚粗记
    [学习笔记] 模拟退火 (Simulated Annealing)
    [日常] NOIWC 2018爆零记
    [日常] PKUWC 2018爆零记
    [日常] 最近的一些破事w...
    [BZOJ 1877][SDOI2009]晨跑
    [COGS 2583]南极科考旅行
    [日常] NOIP 2017滚粗记
  • 原文地址:https://www.cnblogs.com/strongerHuang/p/5797646.html
Copyright © 2020-2023  润新知