STM32CubeMX的使用

目录:

一、STM32系列的库简介

1、寄存器(STM32Snippets)

2、标准外设库

3、HAL库

4、LL库

二、软件下载、安装与一般设置

1、软件下载、安装

2、显示设置

三、STM32CubeMX的使用

1、工程的建立与管理

2、输入捕获


一、STM32系列单片机的库简介

1、寄存器(STM32Snippets)

它是代码示例的集合,直接基于STM32外设寄存器,可在文档和软件包中使用。由于处在最底层,因此需要开发者直接操作外设寄存器。

2、标准外设库

标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器。这应该是目前使用最多的ST库。几乎全部使用C语言实现。但是,标准外设库也是针对某一系列芯片而言的,没有可移植性。

相对于HAL库,标准外设库仍然接近于寄存器操作,主要就是将一些基本的寄存器操作封装成了C函数。开发者需要关注所使用的外设是在哪个总线之上,具体寄存器的配置等底层信息。

注意:不支持从STM32L0、STM32L4和STM32F7芯片开始之后的STM32系列芯片。

ST为各系列提供的标准外设库稍微有些区别。例如,STM32F1x的库和STM32F3x的库在文件结构上就有些不同,此外,在内部的实现上也稍微有些区别,这个在具体使用(移植)时,需要注意一下!但是,不同系列之间的差别并不是很大,而且在设计上是相同的。

3、HAL库

ST为新的标准库注册了一个新商标:STMCube™。并且,ST专门为其开发了配套的桌面软件STMCubeMX,开发者可以直接使用该软件进行可视化配置,大大节省开发时间。其中就包含了HAL库和LL库。

HAL是Hardware Abstraction Layer的缩写,中文名:硬件抽象层。HAL库是ST为STM32最新推出的抽象层嵌入式软件,可以更好的确保跨STM32产品的最大可移植性。该库提供了一整套一致的中间件组件,如RTOS,USB,TCP / IP和图形等。

HAL库是基于一个非限制性的BSD许可协议(Berkeley Software Distribution)而发布的开源代码。 ST制作的中间件堆栈(USB主机和设备库,STemWin)带有允许轻松重用的许可模式, 只要是在ST公司的MCU 芯片上使用,库中的中间件(USB 主机/设备库,STemWin)协议栈即被允许随便修改,并可以反复使用。至于基于其它著名的开源解决方案商的中间件(FreeRTOS,FatFs,LwIP和PolarSSL)也都具有友好的用户许可条款。

可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库。目前,HAL库已经支持STM32全线产品。使用HAL库编程,最好尽量符合HAL库编程的整体架构。

4、LL库

1)LL库(Low Layer)与HAL捆绑发布,文档也和HAL文档在一起。LL库更接近硬件层,对需要复杂上层协议栈的外设不适用,直接操作寄存器,支持所有外设。针对一些低性能(M0)或者低功耗(L系列)的芯片编程时。相较于HAL库的低效率,寄存器操作的复杂,标准库的逐渐淘汰,LL库就成为了替代HAL库一个比较好的选择。

STM32使用HAL库、标准库、LL库和寄存器操作的性能对比:

上图转自:STM32使用HAL库、标准库、LL库和寄存器操作的性能对比

--------------------------------

2)LL驱动程序介绍

一组函数,用于根据数据结构中指定的参数初始化外围主要功能;

一组函数,用于用每个字段的重置值填充初始化数据结构执行外围设备反初始化的功能(外围设备寄存器恢复为默认值);

一组内联函数,用于直接和原子寄存器访问;

由于LL驱动程序可以在独立模式下(无HAL驱动程序)或在混合模式下(有HAL驱动程序)使用,因此与HAL完全独立。

--------------------------------

3)与HAL库相同,LL库同样支持STM32CubeMX生成代码,非常方便。并且,在STM32CubeMX工程中,不同外设是可以混合使用HAL和LL库的,两者完全兼容,所以适配上是不存在问题的。LL库的生成设置如下。

二、软件下载、安装与一般设置

1、软件下载、安装

1)中国意法半导体STM | STM32/STM8微控制器 | MCU单片机搜索下载

--------------------------------

2)软件包安装

安装后的效果:

2、显示设置

三、STM32CubeMX的使用

1、工程的建立与管理

工程建立:

工程管理:

2、输入捕获

实际工程应用:STM32单片机-输入捕获、FFT测频

调试端口设置:

IO设置:

中断设置:

定时器3配置:

RCC时钟设置:

生成代码:


如若喜欢这篇文章,不妨留下您宝贵的点赞,这将是对我莫大的鼓励。 

STMCubeMX是一款由STMicroelectronics开发的软件工具,用于帮助开发人员进行STM32微控制器的配置和初始化。以下是关于STMCubeMX安装的具体步骤: 1. 首先,从STMicroelectronics官网上下载安装程序,通常是一个可执行文件。在安装程序中也提供了用户手册,可以用来帮助用户了解软件的使用方法。 2. 打开安装程序,根据提示选择安装位置和语言选项,并且接受使用条款。 3. 安装程序会自动开始安装STMCubeMX软件。等待安装完成后,可以选择是否启动软件。 4. 当软件启动后,可以选择创建一个新的项目或者打开一个已有的项目。 5. 如果选择创建新项目,需要选择适用于目标STM32微控制器的系列和型号。这些信息可以从STMicroelectronics官网或者微控制器的数据手册中找到。 6. 在项目设置界面中,可以根据需求进行配置,包括时钟设置、引脚分配、外设模块的配置等。通过界面操作,可以直观地设置和修改各项参数。 7. 配置完成后,可以生成代码。STMCubeMX会根据用户的配置生成相应的初始化代码,包括时钟初始化、引脚初始化、外设初始化等。 8. 生成代码后,可以导入到用户所选择的集成开发环境(IDE)中进行后续的开发和编译。STMCubeMX支持多种流行的IDE,包括Keil、IAR等。 通过以上步骤,用户可以快速地安装和开始使用STMCubeMX工具,帮助进行STM32微控制器的配置和初始化,提高开发效率和便捷性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱上电路设计

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值