STM32CubeMX的使用
1、STM32CubeMX简介
STM32CubeMx软件是ST公司为STM32系列单片机快速建立工程,并快速初始化使用到的外设、GPIO等,大大缩短了我们的开发时间。同时,软件不仅能配置STM32外设,还能进行第三方软件系统的配置,例如FreeRtos、FAT32、LWIP等等,而且还有一个功能,就是可以用它进行功耗预估,还有,这款软件可以输出PDF、TXT文档,显示你工程里面的GPIO等外设的配置信息,供你进行原理图设计等。
STM32CubeMX几乎覆盖了STM32L475xx全系列芯片。具有如下特性:
1、 只管的选择MCU型号,可指定系列、封装、外设数量等条件。
2、 微控制器图形化配置。
3、 自动处理引脚冲突。
4、 动态设置时钟树,生成系统时钟配置代码。
5、可以动态设置外围和中间件模式和初始化。
6、功耗预测。
7、C代码工程生成器乳钙了STM32微控制器初始化编译软件,如IAR,KEIL,GCC。 8、可以独立使用或者作为Eclipse插件使用。
STM32CubeMX和STM32Cube的关系,STM32Cube包含STM32CubeMX图形工具和STM32Cube库两个部分,使用STM32CubeMX配置生成的代码,是基于STM32Cube库的。也就是说,我们使用STM32CubeMX配置出来的初始化代码和STM32Cube库兼容,例如硬件抽象层代码就是使用STM32的HAL。不同的STM32系列芯片,会有不同的STM32Cube库支持,而STM32CubeMX图形工具只有一种。所以我们配置不同的STM32系列芯片,选择不同的STM32Cube库即可。

2、打开STM32CubeMX软件

图片中的序号1和3是新建工程的快捷按钮,序号2和4是快速打开工程快捷按钮。

图片中的5是检测更新,用于检查STM32的官方固件库是否有更新,6是管理自己所下载的固件库,7升级的一些设置选项(包含固件包存储位置等)。打开7可以选择固件库的安装以及解压的位置(最好不要包含中文路径)。

我们将自己下载的HAL库文件解压放到一个目录中,然后通过Repository Folder指定该固件库的路径。


点击OK后,再打开“Manage embedded software packages”管理固件库,可以看到如下图所以,方框呈绿色,证明固件库已存在。

主菜单Project选项,有生成代码、生成工程报告以及设置选项,这些选项需要建立一个实际的工程以后才能使用。

3、创建和保存工程
打开STM32CubeMX软件后,点击“New Project”创建新工程。之后会弹出MCU选择窗口,如下图:

依次在选项卡Series,Lines和Package之下选择对应的参数,然后选择对应的芯片型号。如下图:




最后双击选择具体的芯片型号,如图中选中的芯片。

最后选则File->Save Project保存工程到文件夹下。工程的名字以.ioc为后缀。


4、工程配置
工程新建好之后会直接进入Pinout选项卡,这个时候界面会展示芯片完整的引脚图。在引脚图中,我们可以对引脚功能进行配置。黄色的引脚主要是一些电源和GND引脚,如果某个引脚已经被配置过,那么会显示为绿色,提示已经使用。

RCC配置
对STM32芯片而言,RCC配置的重要性不言而喻。在STM32CubeMX中,RCC的相关设置却非常简单,因为STM32CubeMX把时钟系统独立出来单独配置。在操作界面,依次点击Pinout->Peripherals->RCC选项卡便可进入RCC配置栏。如下图:

从上图可以看出,RCC配置栏实际上只有6个配置项。选项High Speed Clock(HSE)用来配置HSE,第二个选项Low Speed Clock(LSE)用来配置LSE,选项Master Clock Output 用来选择是否使能MCO引脚时钟输出,选项LSCO Clock Output用来选择是否使能将低速时钟输出到外部LSCO,选项SAI1 Extern Clock用来配置是否使能外部SAI1时钟,最后一个选项SAI2 Extern Clock用来配置是否使能外部SAI2时钟。
在这里选择使用HSE,所以我们设置选项High Speed Clock(HSE的值为Crystal/Ceramic Resonator(使用晶振/陶瓷振荡器)即可。这里还需要说明一下,值 Bypass ClockSource的意思是旁路时钟源,也就是不使用使用晶振/陶瓷振荡器,直接通过外部提供一个可靠的4-26MHz时钟作为HSE。配置好的RCC配置选项如下图所示,而且从图中可以看出在打开了HSE后,右边的引脚图中,相应的引脚会由灰色变为绿色,表示该引脚已经被使用。

STM32CubeMX的使用的更多相关文章
- STM32CubeMX安装指南
1.STM32CubeMX软件下载 地址:http://pan.baidu.com/s/1bn8sXOV 密码:6u3p 2.安装 1)安装Java SDK 2)安装SetupSTM3 ...
- STM32F429i-DISCO FreeRTOS keil STM32CubeMX
目标: 在STM32F429 Disco开发板上用FreeRTOS双线程点亮双闪led. 准备: 0. STM32F429i-DISCO 1. keil ARMMDK 5.13 2. STM32Cub ...
- 使用STM32CubeMX来创建属于自己的工程
使用STM32CubeMX的好处就是GPIO口可以使用图形化的方式进行配置,配置完成之后可以立即生成支持多种编译器的工程文件,之后打开即可编译通过了,非常方便. 操作很简单,如下所述: 1 从ST的官 ...
- STM32CubeMX GPIO的使用
一.GPIO口配置1.GPIO的主要配置有输入和输出① 作为普通GPIO输入:根据需要配置该引脚为浮空输入.带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块.② 作为普通GPIO输 ...
- 关于STM32CubeMX使用LL库设置PWM输出
HAL和LL库 HAL是ST为了实现代码在ST家族的MCU上的移植性,推出的一个库,称为硬件抽象层,很明显,这样做将会牺牲存储资源,所以项目最后的代码比较冗余,且运行效率大大降低,运行速度受制于fla ...
- STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收
参考资料:1.ST HAL库官网资料 2.https://blog.csdn.net/u014470361/article/details/79206352#comments 一.STM32CubeM ...
- STM32CubeMX的串口配置,以及驱动代码
1.STM32CubeMX的配置没啥子好说的,使能然后改一下波特率和字长,然后在将中断勾选,把中断等级调到1(一定要比systick的优先级垃圾!!!) 2.驱动代码 在生成的it.c文件中,例如用的 ...
- STM32CubeMX+Keil裸机代码风格(2)
10.找到STM32cubeMx所建的工程目录,在工程目录的同级目录下新建一个文件夹用来存放自己写的代码 11.用notepad++打开keil的工程文件,在这里的<Group>前面加上 ...
- STM32CubeMX+Keil裸机代码风格(1)
1.打开STM32CubeMX,New project 选好自己要用的芯片 2.选上左侧SYS中的debug Serial Wire(定义烧程序的端口) . 3,选上左侧TIM6,使TIM6可用(TI ...
- 利用STM32CubeMX之SPI
现在我们继续使用STM32CubeMX来生成SPI工程.我们的硬件平台还是我们熟悉的STM32F103C8开发板. 设置时钟树中的配置 现在打开SPI的设置 如果想修改管脚的名字可以红色框中进行修改, ...
随机推荐
- Netty学习(4):NIO网络编程
概述 在 Netty学习(3)中,我们已经学习了 Buffer 和 Channel 的概念, 接下来就让我们通过实现一个 NIO 的多人聊天服务器来深入理解 NIO 的第 3个组件:Selector. ...
- MongoDB复制集概念架构浅析
一.复制集的作用 (1) 高可用 防止设备(服务器.网络)故障. 提供自动failover 功能. 技术来保证数 (2) 灾难恢复 当发生故障时,可以从其他节点恢复. (3) 功能隔离 用于分析.报表 ...
- Kona JDK 在腾讯大数据领域内的实践与发展
导语 | 近日,云+社区技术沙龙“腾讯开源技术”圆满落幕.本次沙龙邀请了多位腾讯技术专家,深度揭秘了腾讯开源项目TencentOS tiny.TubeMQ.Kona JDK.TARS以及Medical ...
- 异步编程RxJava-介绍
前言前段时间写了一篇对协程的一些理解,里面提到了不管是协程还是callback,本质上其实提供的是一种异步无阻塞的编程模式:并且介绍了java中对异步无阻赛这种编程模式的支持,主要提到了Future和 ...
- Flask wtforms 表单验证使用
目录 wtforms 使用1(简单版): 使用2(复杂版): wtforms 安装:pip3 install wtforms 使用1(简单版): from flask import Flask, re ...
- SQL常见错误总结
目录 语法错误 标点错漏 重命名 数据拼接 null值 逻辑顺序 函数错误 参数的数量 参数的格式 逻辑错误 数据重复 无效筛选 标签重叠 时间错位 SQL是数据分析中最高频的操作之一,本文梳理常见的 ...
- Spring框架——IOC 自动装载
IOC自动装载有两种形式 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- 使用@property 添加width 和 height 属性
@property Python内置的@property装饰器就是负责把一个方法变成属性调用的: class Screen(object): def isint(self,px): if not is ...
- MySQL学习(5)
三 触发器 对某个表进行某种操作(如:增删改查),希望触发某个动作,可以使用触发器. 1.创建触发器 create trigger trigger1_before_insert_tb1 before ...
- Django模板层学习笔记
一. 前言 Django模板层的知识包括标签.过滤器.自定义标签.自定义过滤器以及inclusion_tag,最重要的是模板的继承和导入. 首先模板层最重要的是模板语法,之前我们提过涉及到变量用模板语 ...