STM32CubeMX的安装以及使用实例

一、STM32CubeMX

1.简介

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

2.详细安装过程

安装STM32CubeMx一共需要三个安装3个板块:

  • JRE (Java Runtime Environment) Java运行环境 运行JAVA程序所必须的环境的集合
  • STM32CubeMX
  • HAL库 STM32 HAL固件库 ST官方推出的另一套库

(1)JRE安装

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

  • 我的电脑是Windows系统64位,所以选择Windows Offline(64-bit),点击下载
    在这里插入图片描述

  • 下载好后,进入安装界面
    在这里插入图片描述

  • 点击更改来修改目标文件夹,修改好后点击下一步
    在这里插入图片描述

  • 正在安装
    在这里插入图片描述

  • 完成安装后,点关闭即可
    在这里插入图片描述

(2)STM32CubeMX安装

  • 进入官网:www.st.com/stm32cubemx

  • 点击Login,登录账号,没有则需注册
    在这里插入图片描述
    在这里插入图片描述

  • 选择自己需要的版本下载,我下载的是6.3.0,当前的最新版本
    在这里插入图片描述

  • 下载好后,点击打开安装包
    在这里插入图片描述

  • 进入安装界面,点击Next进入下一步
    在这里插入图片描述

  • 勾选Accept后,点击Next进入下一步
    在这里插入图片描述

  • 勾选第一个信息后,点击Next进入下一步(第二个信息是询问你是否同意公司收集你的信息)
    在这里插入图片描述

  • 点击Browse选择目标文件夹后,点击Next进入下一步
    在这里插入图片描述

  • 这是在提示你,安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失,询问你是否继续,点击Yes即可
    在这里插入图片描述

  • 这一步直接点击Next进入下一步
    在这里插入图片描述

  • 正在安装
    在这里插入图片描述

  • 等待安装,安装好后点击Done退出,完成安装
    在这里插入图片描述

(3)HAL库安装

  • HAL库,有在线安装、离线安装两种方式
  • 此处我们只演示在线安装过程
  • 打开已经安装好的STM32CubeMX 软件,点上面的Help→Manage embedded software packages
    在这里插入图片描述
  • 选择你需要的HAL的版本和适用的芯片类型,并点击Install Now进行安装
    在这里插入图片描述
  • 正在安装
    在这里插入图片描述
  • 完成安装的情况
    在这里插入图片描述

二、实例——流水灯

1.利用STM32CubeMX生成工程文件,并生成代码

(1)新建工程

  • 打开STM32CubeMX,点击New Project建立新工程
    在这里插入图片描述

(2)选择MCU

  • 硬件我用的是STM32F103C8,所以Part Number中我选择的是STM32F103C8
    在这里插入图片描述
  • 选择好后,点击Start Project来开始工程
    在这里插入图片描述

(3)配置时钟

  • 接着我们来配置时钟,进入RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
    在这里插入图片描述
  • 点击进入 Clock Configuration 界面,配置系统时钟 SYSCLK 为 72MHz,修改 HCLK 的值为 72 ,回车后,软件会自动修改所有配置(注意圈出来的地方的信息)
    在这里插入图片描述

(4)配置调试模式

  • 点击进入SYS 设置,Debug 处设置为 Serial Wire
  • 在这里插入图片描述

(5)配置GPIO

  • 点击进入GPIO 设置,在右边图中找到 LED 灯对应的输出引脚,选择 GPIO_Output,这里我选的PA5、PA6、PA7为LED的端口
    在这里插入图片描述
  • 为管脚命名
    在这里插入图片描述

(6)工程配置以及代码生成

  • 点击进入project manager界面,输入项目名和项目路径,选择应用的 IDE 开发环境 MDK-ARM V5
    在这里插入图片描述
    注意:地址路径中不可包含中文目录

  • 点击 GENERATE CODE 生成代码
    在这里插入图片描述

2.代码完善

  • 找到刚才生成的main.c函数
    在这里插入图片描述
  • 双击打开main.c文件,发现里面只有初始化,需要我们进一步完善代码
    在这里插入图片描述
  • 自动生成的代码是由HAL库版本的代码,这里调用的函数是其已经编写好的函数,如下:
函数名称函数原型参数说明
(HAL_Delay)void HAL_Delay (__IO uint32_t Delay)Delay表示所要延时的时间大小,单位是毫秒
(HAL_GPIO_WritePin)void HAL_GPIO_WritePin (GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)GPIOx: 管脚组(x的取值为A~G)GPIO_Pin: 管脚编号(x的取值为0~15)PinState: 管脚的状态(取值为GPIO_BIT_RESET表示0, GPIO_BIT_SET表示1)
  • 完善代码如下:
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//将PA5设置为高电平
HAL_Delay(100);\\延时
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);//将PA5设置为低电平
HAL_Delay(100);\\延时
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET);//将PA6设置为高电平
HAL_Delay(100);\\延时
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET);//将PA6设置为低电平
HAL_Delay(100);\\延时
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);//将PA7设置为高电平
HAL_Delay(100);\\延时
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);//将PA7设置为低电平
HAL_Delay(100);\\延时

3.生成.hex文件

  • 找到用CubeMX生成的.uvprojx,双击打开
    在这里插入图片描述

  • 找到main.c后,双击打开
    在这里插入图片描述

  • 编译运行
    在这里插入图片描述

  • 编译成功
    在这里插入图片描述

  • 目录下出现.hex文件
    在这里插入图片描述

4.程序烧录及结果

  • 打开FlyMcu,找到需要的.hex文件,然后点击烧录
    在这里插入图片描述
  • 烧录结果
    请添加图片描述

三、Keil的软件仿真逻辑分析(波形图)

1.设置环境

  • 点击“魔法棒”进入设置界面
    在这里插入图片描述
  • 点击进入Debug界面后,调整3处地方,然后点击OK
    在这里插入图片描述

2.调试

  • 点击“Start/Stop…”进入调试界面
    在这里插入图片描述
  • 点击“Logic Analyzer”进行波形分析
    在这里插入图片描述
  • 点击左上角setup,弹出对话框,添加需要查看的波形的的引脚,点击右上角的添加输入(直接输入GPIOX_IDR.Y,X为选择的GPIO口号,Y为选择的引脚号,然后回车),再将Display Type改为Bit
    在这里插入图片描述

3.运行

  • 点击左上角的run,开始运行
    在这里插入图片描述

  • 产生的波形与期望中的波形相同,仿真成功
    在这里插入图片描述

四、总结

通过本篇博客,读者可以学习到如何安装STM32CubeMX以及如何使用STM32CubeMX进行代码的编写和输出波形的仿真,掌握了STM32CubeMX后,我们就可以更加轻松的进行程序的编写,不需要再为初始化或者编写函数而烦恼,有兴趣的读者可以在此基础上进行拓展,进一步地学习。本篇博客参考的资料已经列在下方,若存在博客没有涉及到的问题或者博客有纰漏,欢迎大家补充交流。

五、参考文献

【STM32】STM32 CubeMx使用教程一–安装教程
STM32实现LED闪烁——基于HAL库

在微控制器(单片机)的开发过程中,利用寄存器操作或者库函数来初始化外设,配置所需功能的传统的开发模式占据了主导地位。初学者或者对微控制器不熟悉的人想要利用某个微控制器开发项目,就不得不从其基本配置方法学起,一步步深入开发。这样的传统开发模式速度慢且容易出错,往往一个错误就会耗费掉大量时间。编者们在微控制器编程实践中,逐渐发现诸如意法半导体(ST)公司的STM32CubeMX产品,瑞萨公司的CubeSuite+产品等,可以实现图形化配置大部分外设的功能,为开发者进行图形化快速开发提供了便利。因此,本书以STM32CubeMX开发STM32产品为例,进行图形化开发思想和实践操作的介绍。 本书大致分为五个部分,第一部分介绍了STM32的基本型号,STM32功能特点;第二和第三部分介绍了组态软件STM32CubeMX,介绍通过其快速开发STM32的操作方法及操作技巧,又在快速开发的基础上,引导读者深入学习STM32基本操作,包括IO功能,定时器,中断,通信等;第四个部分引入Simulink,详细介绍了利用simulink进行微控制器开发的特点和应用实例;第五个部分引入操作系统,带领读者利用组态软件STM32CubeMX集成的RreeRTOS操作系统来进行项目开发,例如利用操作系统简化逻辑关系,减轻代码工作量,利用FPU强大的浮点数据处理能力(DSP指令)优化系统运行效率等。*SIMULINK内容在后续版本实现*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值