Ⅰ、写在前面

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

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引脚,其他功能(如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新建各种外设资源工程的文章,敬请等待。

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

转自:http://blog.csdn.net/ybhuangfugui/article/details/52281260

转载于:https://www.cnblogs.com/alan666/p/8311927.html

STM32CubeMX新建工程+基本IO配置过程相关推荐

  1. STM32CubeMX软件工程描述_USART配置过程

    推荐 分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang Ⅰ.写在前面 学习本文之前可以查 ...

  2. Prerender.io 配置过程 给你的VUE单页面网站增加一点seo吧~

    prerenderio 的使用和配置 作为一个网站,要想给别人搜索到,那么就要依靠搜索引擎的爬虫.那么我们如何让搜索引擎爬虫收录网站的信息呢?那就需要网站确实有信息: meta标签的关键词 meta的 ...

  3. 【LM401】USART串口配置过程 uart.c 代码解析

    [LM401]USART串口配置过程 1. 板载资源说明 2.uart.c 串口配置文件修改 2.1接口文件 uart_if.c 2.2整体配置流程 2.2.1初始化串口,分配DMA 2.2.2配置串 ...

  4. MySQL主从复制配置过程(一主一从模式)

    1.概述 MySQL 的主从复制又叫 Replication.AB 复制.至少需要两个 MySQL 服务(可以是同一台机器,也可以是不同机器之间进行). 比如A服务器做主服务器,B服务器做从服务器,在 ...

  5. Hadoop2.2.0+HA+zookeeper3.4.5详细配置过程+错误处理(一)

    Hadoop2.2.0+HA+zookeeper3.4.5+体系结构+错误处理 心血之作,在熟悉hadoop2架构的过程耽误了太长时间,在搭建环境过程遇到一些问题,这些问题一直卡在那儿,不得以解决,耽 ...

  6. 串口接收中断配置过程---STM32F4--HAL

    串口接收中断程序配置过程(HAL) 初始化相关参数,使能串口: HAL_UART_Init(); 该函数的参数是串口的基址,在stm32f429xx.h文件中,定义了8个UART_HandleType ...

  7. PCIe设备的配置过程

    PCIe设备的配置过程 文章目录 PCIe设备的配置过程 参考资料: 一. PCIe系统硬件结构 二. PCIe系统软件层次 三.事务层TLP格式 3.1 Posted和Non-Posted 3.2 ...

  8. 经典的自动修复工具GenProg配置过程

    前言 对于软件工程自动修复方向的人来说,GenProg是一个跳不过的软件.GenProg的作者在2009年,2012年,2013年发了三篇A会,都是有关GenProg的(我没记错的话). 这里给出软件 ...

  9. win10+vs2017+PCL1.8.1配置过程及注意事项

    最近需要用到PCL库,在此把配置过程中需要注意的问题记录下来,配置过程中参考了很多博主,在此感谢他们的帮助. pcl1.8.1的相关文件在这里  https://pan.baidu.com/s/1Qd ...

  10. 记录个人Wiki搭建配置过程

    搭建docsify个人Wiki过程 本文介绍以docsify为基础搭建wiki,文件数据存放到github,本文详细说明了配置过程 打开cmd,检查本地node是否安装,没有安装需前往Node官网安装 ...

最新文章

  1. cron 工具 每分钟_计划任务 cron和crontab
  2. 深入 理解 Statement 和 PreparedStatement
  3. Cassandra - Insert after Delete fails silently
  4. 手机1像素线粗_关于移动端开发 1px 线的一些理解和解决办法
  5. 来谈谈JAVA面向对象 - 鲁班即将五杀,大乔送他回家??
  6. 汇编[bx+idata](8086)
  7. WinCE驱动的动态加载
  8. Spark源码分析之Task
  9. [郑重声明]木草山人编码的习惯
  10. vue 自定义指令_vue 自定义指令
  11. 光配件招标采购技术标准
  12. Windows Server2012默认的80端口被System进程占用解决办法
  13. 人物-IT-张朝阳:张朝阳
  14. C语言递归函数求n!的两种写法---详细讲解
  15. 牛客NOIP暑期七天营-普及组4 D-火龙果画
  16. h标签,b标签,em,i ,u,s标签
  17. CentOs7 安装绿色版Nginx并配置开机启动
  18. WordPress初学者入门教程-WordPress的网页
  19. 青龙脚本(七猫免费小说,附脚本)
  20. 华南师范大学校园网自动登录教程

热门文章

  1. 紫光展锐虎贲T618八核(Android11.0)4G核心板
  2. MongoDB-day1:MongoDB安装使用、python操作、虚拟环境、windows下pip豆瓣源配置
  3. 5G赋能新文旅 巡天遥看一千河
  4. 10个问题说清楚 什么是元宇宙 - 十问元宇宙:如何将抽象的概念具象化?
  5. 适合新手小白的苹果CMS安装与配置
  6. mysql开发中遇到的坑_mysql中间件开发遇到的坑之权能标志CLIENT_DEPRECATE_EOF
  7. python中的内置函数总结
  8. Unity 组合键输入及容易忽略的问题
  9. 公关,从讲好一个故事开始
  10. 文件夹下载器案例实战