安装 stm32CubeMX,在Keil中使用HAL库制作流水灯

目录

一、STM32CubeMx简介

二、利用CubeMX新建工程点亮LED灯

1.安装CubeMx 

2.新建工程

 3.界面分析

1.MCU外设资源选择

2.外设配置

 3.预览界面

 4.配置引脚

​ 5.时钟源设置

 6.工程配置

​ 7.添加代码

  8.编译以及烧录

 9.实际效果

 三、使用keil观察3个GPIO端口的输出波形

1.设置仿真模式

2.使用逻辑分析仪

四、参考文献


一、STM32CubeMx简介

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

二、利用CubeMX新建工程点亮LED灯

1.安装CubeMx 

关于STM32CubeMX的安装教程,可参考此博客【STM32】STM32 CubeMx使用教程一--安装教程_Z小旋-CSDN博客_stm32cubemx安装 

2.新建工程

 在主界面选择File-->New Project ,然后就会出现芯片选择,选择自己的芯片型号即可

 然后点击如图区域

 就出现了芯片预览界面

 3.界面分析

1.MCU外设资源选择

在这里可以选择MCU的各种资源和外设

 

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

2.外设配置

这里可以设置你所选择外设的各种功能

这里以串口1为例   我们可以选择串口的模式(异步,同步,半双工)   串口接收中断,和串口DMA传输等等

 3.预览界面

这里分为引脚预览和系统预览

引脚预览就是可以查看哪个引脚配置了什么功能,和各个引脚位置  

任意点击一个引脚即可设置该引脚的功能。

在这里插入图片描述
淡黄色这种颜色表示不可配置引脚,电源专用引脚以黄色突出显示,其配置不能更改。

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

在这里插入图片描述
绿色表示配置成功。

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

 

图中方框之内的对勾图标,表示没有问题;
表示警告,对应配置出现问题  点击该选项即可外设配置界面查看

 4.配置引脚

 这里我们需要把LED对应引脚设置为GPIO_Output,选择目标管脚即可设置。这里我选择了PB6,PC6,PD2。

 5.时钟源设置

实质上是配置32的时钟树框图,默认时钟是使用内部RC振荡器(HSI) ,这里我们配置为72MHZ

 

在弹出的窗口中点击ok即可配置成功

 需要配置RCC才能够使用外部时钟源,这里我们如图操作

 

 6.工程配置

 点击project manager进行工程配置

我们只需设置工程名称,存储位置以及设置IDE(本博客使用的是MDK5),注意,存储位置中 不能含有中文。

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

 

 

 这里我们选择只复制需要的.c和H,这样体积相对小,编译时间短,并且工程可复制拷贝

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

 7.添加代码

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


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

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

  8.编译以及烧录

 编译之后没有发现错误,直接烧录。

 将C8T6与USB转TTL相连,接入电脑端,打开FlyMcu进行烧录

 

 9.实际效果

 三、使用keil观察3个GPIO端口的输出波形

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

1.设置仿真模式

进行debug设置,点击魔术棒,即

然后点击Debug 

 注意在Debug设置里下面两项内容进行更改:
Dialog DLL默认是DARMSTM.DLL
Parameter默认是-pSTM32F103VC

然后点击编译,运行,调试。

2.使用逻辑分析仪

设置完成后,开启调试模式,打开逻辑分析仪 

 打开之后的界面如下:

 给逻辑分析仪中添加要观察的IO口

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

 

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

 在这里插入图片描述

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

 观察波形可以得出延时为1秒

四、参考文献

【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)_Z小旋-CSDN博客_cubemx教程https://blog.csdn.net/as480133937/article/details/98947162STM32实现LED闪烁——基于HAL库_Harriet的博客-CSDN博客_stm32实现led灯的闪烁https://blog.csdn.net/qq_43279579/article/details/112233696

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值