STM32CubeMX安装与使用——实现流水灯

一、Java环境准备

(1)下载JDK

STM32CubeMX 是 Java 实现的,需要安装 JDK 环境。

jdk11-Windows版本下载链接:https://www.oracle.com/java/technologies/downloads/#java11-windows

打开官网后选择Windows版本的第二个下载。
在这里插入图片描述

(2)安装JDK环境

~打开安装按照指示点击下一步。
在这里插入图片描述

~根据自己的需要更改文件下载地址,之后点击下一步。
在这里插入图片描述

~安装完成,点击关闭。
在这里插入图片描述

二、安装STM32CubeMX

(1)STM32CubeMX的下载

STM32CubeMX 官网下载地址:https://www.st.com/en/development-tools/stm32cubemx.html

~打开网址后选择Windows的版本下载。
在这里插入图片描述

~这里选择最新的版本6.30。
在这里插入图片描述

~点击下载后会出现许可协议,点击接受。
在这里插入图片描述

~下载软件需要填写姓名和邮箱地址,注意:姓名可以随便填一个,电子邮箱一定要填可以收到邮件的真实邮箱地址。
(部分浏览器存在点击下载没反应的问题,换一个浏览器就可以解决了)
在这里插入图片描述

~打开邮箱中收到的邮件,点击立即下载。
在这里插入图片描述

(2)STM32CubeMX的安装

~将下载的安装包解压,点击右键以管理员身份运行安装程序。
在这里插入图片描述

~点击Next。
在这里插入图片描述

~勾选我同意,然后点击Next。
在这里插入图片描述

~勾选“l have read…”,然后点击Next。
在这里插入图片描述

~选择文件的下载目录,然后点击Next。
在这里插入图片描述

~等待安装,进度条完了后点击Next。
在这里插入图片描述

~点击Done,完成安装。
在这里插入图片描述

~安装固件库,不同芯片选择相对应的库。打开STM32CubeMX程序,点击ACCESS TO MCU SELECTOR即可。
在这里插入图片描述

~点击Help,然后选择Manage embedded software packages。
在这里插入图片描述

~这里选择芯片类型是STM32F1,然后选择1.8.4版本下载,再点击 Install Now。
在这里插入图片描述

三、使用STM32CubeMX生成代码

在 Home 界面,开始建立工程。

(1)工程创建

~点击File,选择New Pioject,创建新工程。
在这里插入图片描述

~在 Part Number 里选择STM32F103C8芯片,右边会出现芯片信息,选中芯片后,双击进入工程。
在这里插入图片描述

(2)配置外设

~在 Pinout &Configuration 里,点击SYS,Debug这里选择Serial Wire。
在这里插入图片描述

~点击RCC进行设置,外部高速时钟HSE选择 Crystal/Ceramic Resonator。
在这里插入图片描述

(3)配置时钟

~在 Cook Configuration 里,按照下面方式将 STM32 最高时钟调为72M。
在这里插入图片描述

~在pinout中,点击Connectify ,选择 USART1,模式选择 Asynchronous,完成配置。
在这里插入图片描述

(4)配置GPIO

点击GPIO,点击管脚 PA5,在菜单中选择 GPIO_Output,依次配置其他引脚,PB0 、PC14和PA5一样。在左侧的 GPIO 中看到每个管脚的位置,输出模式output level选择High高电平。在这里插入图片描述

(5)工程设置

~在 Project Manager 界面中选择 Project ,选择要保存的过程文件地址,因为使用Keil5来编译,所以选择MDK—ARM,V5。
在这里插入图片描述

~在 Code Gendertor 中,勾选“Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral”。
在这里插入图片描述

~最后点击 GENERATE CODE ,生成对应的工程文件,并点击 Open Project 通过 Keil5 自动打开工程。
在这里插入图片描述
也可以打开保存的工程文件,点击MDK-ARM文件,打开对应keil文件即可。
在这里插入图片描述

四、使用Keil5编译

(1)修改函数

打开Keil文件后点击Application,在 main.c 文件里的 while(1) 循环内添加以下代码。

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_Delay(100) ;//100ms  
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
HAL_Delay(100) ;//100ms

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);
HAL_Delay(100) ;//100ms
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
HAL_Delay(100) ;//100ms

HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_RESET);
HAL_Delay(100) ;//100ms
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);
HAL_Delay(100) ;//100ms

放入函数中如下图所示:
在这里插入图片描述

(2)编译

~点击魔法棒进行设置修改。
在这里插入图片描述

~点击output,勾选Create HEX File,这样可以生成hex文件。
在这里插入图片描述

~点击编译,生成 hex 文件。
在这里插入图片描述

五、运行效果

烧录还是使用 mcuisp 软件,操作过程和流水灯效果和本人上篇博客一致,可参考。
上篇博客链接:https://blog.csdn.net/qq_45930985/article/details/120938763?spm=1001.2014.3001.5501

六、Keil5仿真观察管脚时序波形

在没有示波器条件下,这里要使用Keil的软件仿真逻辑分析仪功能来观察管脚的时序波形。

(1)调整配置

~点击魔法棒,将 Target 界面的 Xtal 改为72MHz。
在这里插入图片描述

~设置 Debug,将图中的红框中选项修改,修改完点击OK。
在这里插入图片描述

(2)调试并观测波形

~进入调试界面,点击 Debug,进入调试。
在这里插入图片描述

~选择逻辑分析仪,点击Analysls windows。
在这里插入图片描述

~点击 View 菜单,再选择"Symbols Window" 选项,就打开了 Symbols Window 窗口。
在这里插入图片描述

~这里选择将GPIOA_IDR、GPIOB_IDR、GPIOC_IDR拖入到逻辑分析仪里。
在这里插入图片描述

~点击 “Setup”,将3个管脚的 Display Type 改为 Bit ,然后点击 Close。
在这里插入图片描述

~点击左上角的 Run 进行全速运行。
在这里插入图片描述

~现在就可以看到3个GPIO端口的输出电平。
在这里插入图片描述

(3)分析波形

分析观察3个 GPIO 端口输出的波形,发现他们的电位变化与之前代码执行的实际效果一致;但是仿真的波形周期和实际上流水灯闪烁周期有一定程度上的差别,但是差距不大。

七、个人总结

这一次实验相较于上一次流水灯实验,就多了一个STM32CubeMX软件。用这个软件来进行流水灯代码编译,的确更简单一些。并且使用STM32CubeMX也给我开拓不一样的实验方法,结合这个实验和上个实验,可以说是条条大路通罗马,只是说有些路会难走一些,但是最终都会有所收获。

八、参考文献

1、https://blog.csdn.net/qq_43279579/article/details/112213196
2、https://blog.csdn.net/qq_43279579/article/details/112233696
3、https://blog.csdn.net/Greider/article/details/117389799

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值