目录

前言

一、STM32CubeMX安装教程

1.1JRE的安装

1.2安装STM32CubeMX

​ 1.3安装HAL库

二、使用STM32CubeMX进行点灯

2.1新建工程

2.2界面讲解

2.3配置硬件

2.4工程管理

2.5在打开的工程程序中添加实验代码

2.6编译和烧录程序

2.7运行结果

三、MDK5观察3个GPIO端口的输出波形

3.1 设置仿真模式

3.2观察波形

总结

参考文献



前言

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。
在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间

一、STM32CubeMX安装教程

1.1JRE的安装

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

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

下载完之后直接安装即可,没有特别需要主义的地方

1.2安装STM32CubeMX

官网:www.st.com/stm32cubemx

打开安装包

同意相关协议

勾选第一个即可

选择安装目录

默认即可

完成

 1.3安装HAL库

STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。HAL库的推出,可以说ST也慢慢的抛弃了原来的标准固件库,这也使得很多老用户不满。但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。
和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环境;
HAL库,有在线安装、离线安装两种方式
(1)在线安装:在help中点击Manage embedded...

找到自己需要的软件包进行下载

(2)离线安装

离线安装需要下载安装包,在官网www.st.com/stm32cubemx下载

在上一步的过程中选择from local

如果报错,在help Update Settings中修改文件夹为Repository至你的STM32CubeMX文件目录下

二、使用STM32CubeMX进行点灯

2.1新建工程

在主界面选择File–>New Project 或者直接点击ACCEE TO MCU SELECTOR
进行芯片型号选择,一般直接在左上角搜索自己的芯片型号即可

2.2界面讲解

(1)为为MCU外设资源选择

Categories 种类选择,将MCU各种外设和资源分类,供用户选择使用;A-Z 顺序选择,MCU的外设资源按A-Z排序,供用户选择使用

Categories  种类选择:将MCU的各种外设和资源分类,供用户选择使用

A-Z  顺序选择:MCU的外设资源按A-Z 排序,供用户选择使用

(2)为预览界面

引脚预览可以查看引脚配置了什么功能,和各个引脚的位置;
任意点击一个引脚即可设置该引脚的各种功能


淡黄色这种颜色表示不可配置引脚,电源专用引脚以黄色突出显示,其配置不能更改。


深黄色这种颜色表示你配置了一个I/O口的功能,但是没有初始化对应外设功能,引脚处于no mode状态。


绿色表示配置成功。

系统预览是查看配置的各种外设和GPIO的状态


右侧第三个对勾图标,表示没有问题;

2.3配置硬件

(1)这里只需要把我们的LED灯对应引脚设置为GPIO_Output即可

这里我选择的引脚为PB5、PC3、PD2

(2)设置时钟源

即配置32的时钟树框图,默认时钟是使用内部RC振荡器

在中间格子配置为72MHz,回车;

这里会弹出一个小窗口,确认即可

 2.4工程管理

点击Project Manager开始工程配置

然后点击Code Generator,进行进一步配置

 选择如下图所示:

点击GENERATE CODE 创建工程,等待一段时间后,成功打开了工程文件

2.5在打开的工程程序中添加实验代码

在main.c文件的main函数下的while循环中,添加下面几行代码即可。

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);HAL_Delay(1000);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);HAL_Delay(1000);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);HAL_Delay(1000);

如图所示:

2.6编译和烧录程序

编译未出错

具体烧录过程可参考本人另一篇博客STM32F103寄存器方式点亮LED流水灯_亚大贼的博客-CSDN博客

2.7运行结果

三、MDK5观察3个GPIO端口的输出波形

在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。 用此功能可以观察上文3个GPIO端口的输出波形,并分析其波形反映的时序状态正确与否,高低电平转换周期(LED闪烁周期)实际为多少。

3.1 设置仿真模式

1.在使用仿真模式时,要先配置debug模式,配置如下:

在Debug设置里下面两项内容进行更改:
(1)Dialog DLL设置为DARMSTM.DLL
(2)Parameter设置为-pSTM32F103VC

2.点击逻辑分析仪

  点击SetUp,给逻辑分析仪添加要观察的IO口,

然后再下面新建的编辑框中输入PORTB.5,回车之后就会自动转换为下述格式

再依次添加PORTC.3和PROTD..2

再Display Typle出选择Bit

 设置好之后,逻辑分析仪窗口左侧会出现刚才设置的两个IO口。然后点全速运行,开始执行程序

等程序执行一段时间后,点停止按钮

3.2观察波形

这时候逻辑分析仪窗口就会出现,三个LED的波形

随意找一处位置,观察到为101,即只有一个灯亮,说明程序执行成功

 通过波形上就可以看到LED口电平隔1s翻转一次。

总结

HAL库提供的可视化界面大大提高了编程效率,无需再利用代码去配置管脚了,效果很好,受益匪浅,以后会多加利用。因此可以利用逻辑分析仪进行观察仿真示波器的波形,就可以判断你的代码是否正常(即使不接硬件),此外可以计算出LED的真实闪烁周期是多少秒。在实验的过程中除了开始安装STM32CubeMX的时候出现了很多错误,后面的都还算顺利。

参考文献

【STM32】STM32 CubeMx使用教程一--安装教程_Z小旋-CSDN博客_stm32cubemx安装一、STM32CubeMX 简介1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持...https://blog.csdn.net/as480133937/article/details/98885316【STM32】STM32 CubeMx使用教程一--安装教程_Z小旋-CSDN博客_stm32cubemx安装一、STM32CubeMX 简介1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持...https://blog.csdn.net/as480133937/article/details/98885316【嵌入式10】stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期_噗噗的罐子博客-CSDN博客本文利用stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期。https://blog.csdn.net/qq_46467126/article/details/120847240

stm32CubeMX+MDK5使用HAL库点灯相关推荐

  1. 【嵌入式10】stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期

    stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期 一.题目要求 二.STM32CubeMX简介 1.利用CubeMX新建工程点亮LED灯 1)前期准备 2)新建工程 2.界面 ...

  2. 【嵌入式基础】用C语言编程、寄存器实现LED流水灯程序;stm32CubeMX+Keil使用HAL库点亮流水灯

    本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置步骤.利用C语言编程和寄存器点亮流水灯以及stm32CubeMX+Keil使用HAL库点灯 目录 一.STM3 ...

  3. 【stm32cubeMX】使用HAL库点亮LED流水灯

    stm32cubeMX使用HAL库点亮LED流水灯 1.安装STM32CubeMX 2.安装HAL库 3.新建项目 4.keil仿真调试 五.实现 六.参考资料 1.安装STM32CubeMX 官网下 ...

  4. STM32CubeMX | STM32使用HAL库进行脉冲宽度和周期测量

    STM32CubeMX | STM32使用HAL库进行脉冲宽度和周期测量 扫描以下二维码,关注公众号雍正不秃头获取更多STM32资源及干货! 使用芯片:STM32F103RCT6 思路:定时器设置为1 ...

  5. 初学STM32,使用HAL库点灯全过程

    本文用于记录学习过程,如果有写错的地方,还请各位看官指出来 使用的软件:keil5,STM32cubeMX,网易有道翻译 老样子,这次要点亮的灯还是PE^5; 然后打开STM32cubeMX 选着第一 ...

  6. stm32cubeMX使用HAL库点亮LED流水灯

    系列文章目录 文章目录 系列文章目录 一.实验工具 二.STM32CubeMX生成代码使用HAL库点亮流水灯 1.安装STM32CubeMX 2.安装HAL库 3.新建项目 4.keil仿真调试 三. ...

  7. 《STM32单片机开发应用教程(HAL库版)---基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第二章 软件安装与使用

    写在前面-- 作为<STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>系列之第二章,本章节将介绍开发软件STM32CubeMX和KEIL5的 ...

  8. STM32Cube和HAL库使用初体验-第5季第2部分-朱有鹏-专题视频课程

    STM32Cube和HAL库使用初体验-第5季第2部分-308人已学习 课程介绍         本季课程主要讲解STM32的全新开发方式:使用STM32CubeMX工具做图形化配置,自动生成初始化代 ...

  9. 视频教程-STM32Cube和HAL库使用初体验-第5季第2部分-单片机/工控

    STM32Cube和HAL库使用初体验-第5季第2部分 互联网课程品牌<朱老师物联网大讲堂>创始人.精通U-Boot.Linux kernel移植及驱动程序开发;精通C.C++.Java. ...

最新文章

  1. 差错控制:海明码、循环冗余校验码
  2. DVWA学习(三)Brute Force(暴力破解)
  3. 160个Crackme008
  4. 库函数、系统调用和内核函数的区别
  5. 【图解计算机组成原理】第1章 计算机系统概论
  6. 玩转微服务日志框架Logback
  7. python 保存文件 吃内存_python检测空间储存剩余大小和指定文件夹内存占用的实例...
  8. L2-007. 家庭房产-PAT团体程序设计天梯赛GPLT
  9. 键值 keyCode事件属性
  10. linux 系统管理员面试,经典linux系统工程师系统管理员面试题
  11. 分享一些第三方免费接口集
  12. js url解码gbk_使用js解码url里的gbk汉字编码
  13. 三维点云语义分割基础知识
  14. Java 计算排列_java如何进行排列组合运算
  15. 面向对象基础9(继承与继承语法)
  16. Lempel-Ziv算法
  17. 【杂耍】联想G40装Win7系统
  18. Oracle set timing on
  19. 台式计算机怎么进入bios,小编告诉大家hp台式机怎么进bios
  20. aes在tomcat解密中文乱码,在控制台解密中文不是乱码

热门文章

  1. 图像检测:SSD系列
  2. 计算机开源期刊电子和计算机方向的
  3. Netty原理详解系列(一)---NIO中的BufferChanel
  4. 昌大软院大神养成计划之网页设计之路第八天
  5. HTML5 实现本地图片裁剪
  6. 【剑桥摄影协会】相机VS.人眼
  7. 正则表达式模块 正则函数★★★★★
  8. Java学习 --- 设计模式中的UML类图
  9. 火盈云库陌路老师接受采访探讨软件的发展前程和过程
  10. android新的信息提示框,信息提示框Toast