STM32CubeMX初始化使用HAL库实现流水灯

目录

一、实验工具准备

(一)、实验工具

(二)、STM32CubeMX环境安装教程 

1. STM32CubeMX简介

2.JRE安装

3.STM32CubeMX安装

 4.HAL库的安装

二、CubeMX初始化配置实现流水灯

(一)、CubeMX对应模块初始化配置

 (二)、LED闪烁程序编写及上板测试

三、总结

四、参考链接


一、实验工具准备

(一)、实验工具

1、keil uVsion5

2、STM32CubeMX

3、STM32F103RC8T6最小系统板

4、ST-Link仿真器

(二)、STM32CubeMX环境安装教程 

1. STM32CubeMX简介

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。 

在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等  省去了我们配置各种外设的时间,大大的节省了时间

2.JRE安装

由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用.

安装来源如下:

官网:  https://www.java.com/en/download/manual.jsp

BD云: https://pan.baidu.com/s/1rI_XrM2SAw-6Jbvj75SWpg?pwd=hwk7 提取: hwk7 

新lian接:

BD云: https://pan.baidu.com/s/1rj56i9HS4UAaE9yEaiIsaA?pwd=ack6 提取: ack6 

 · 勾选更改目标文件后点击安装

  · 安装路径默认C盘可自行更改安装路径,但需要注意安装路径不能包含中文

 · 等待成功安装即可

3.STM32CubeMX安装

安装来源如下:

 官网:www.st.com/stm32cubemx(需要注册ST官方账号)

BD云: https://pan.baidu.com/s/1Zs_FVscmGGx6zSzcZ0L2BA?pwd=tkiv 提取: tkiv 

 STM32CubeMX(V6.1.1)

BD云: https://pan.baidu.com/s/1yKgxQk2vxyqAy4CrGHZYzA?pwd=8m4m 提取: 8m4m

官方网站提供了Windows、Linux和Mac三个系统版本,且版本号可选择,目前Windows最新版本为6.6.1

 · 文件下载完解压后,打开SETup.exe开始安装

· 点击NEXT进入下一步

 · 勾选同意上述items,然后继续点击下一步

·  勾选第一个即可,第二个选项是是否同意ST公司收集你的个人信息

 

 ·  默认安装路径为C盘,可自行更改安装路径(注意路径尽量不要包含中文)

  · 这句话的意思是安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续,点击Yes即可 

 · 点击NEXT即可

 

·  安装完成 

 4.HAL库的安装

· 关于HAL库

        STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环境

· 点击进入下载好的STM32CubeMX,点击右侧框的install/remove进入packges的选择框

 · 选择对应芯片型号及HAL库的版本号点击install即开始安装

 · 安装成功

二、CubeMX初始化配置实现流水灯

我这里直接使用的开发板是Mini STM32F103RCT6开发板

(一)、CubeMX对应模块初始化配置

· 点击新建项目

·  选择对应芯片型号(这里我以stm32f103rct6开发板为例)

 · 时钟配置,由于我们用到外设GPIO,这里使能HSE高速外部时钟(晶体/陶瓷谐振器),且一般用不上低速外部时钟所以这里没有对它进行使能

 · 进入时钟数配置,选择HSE(高速外部时钟)输入且进行PLL锁相环倍频后作为系统时钟

 · 进行GPIO的配置,根据原理图我们将PA8,PD2两个IO口设置为输出模式

 · 配置导出工程

 (二)、LED闪烁程序编写及上板测试

· 打开CubeMX配置生成的工程文件

· 再main函数的while循环里面插入以下代码

 · 点击魔术棒,勾选Create HEX file

· 点击全部编译即可生成HEX文件

 · 由于我选择的是USB串口下载程序,首先需要打开FlyMcu.exe,选择你设备所在的com口(可通过设备管理器查看),然后选择D:\..\LED_HAL\MDK-ARM\LED_HAL(你所建工程的位置)中的HEX文件下载

· 上板测试效果如下

三、总结

        通过本节实验熟悉了通过CubeMX配置配合MDK开发整体流程,不得不说相比于之前的标准库函数开放方便了不少,开发效率大大的提高,但并不是说HAL库就比寄存器和标准库开发要好,其实最好的是将三者融会贯通,混合使用,不仅提高了开发效率而且懂得整个开发流程的原理,懂得对应模块使用的是那个寄存器,所以虽然HAL库开发方便,但是作为学习我们还是应该去了解底层寄存器的功能和配置才行。

四、参考链接

          stm32cubeMX使用HAL库点亮LED流水灯

        【STM32】STM32 CubeMx使用教程一--安装教程

         

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值