基于STM32CubeMX利用HAL库点亮流水灯

一、安装STM32CubeMX

安装CubeMx一共需要三个
JRE :Java运行环境 运行JAVA程序所必须的环境的集合
STM32CubeMX
HAL库 :STM32
HAL固件库 :ST官方推出的另一套库

1.安装JRE

由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用, 记得选择64位的安装
官网: https://www.java.com/en/download/manual.jsp
BD云: https://pan.baidu.com/s/1rI_XrM2SAw-6Jbvj75SWpg?pwd=hwk7
提取: hwk7
解压完成后,安装(更改目标文件夹)–修改路径–安装完成,关闭界面

2.安装STM32CubeM

官网:www.st.com/stm32cubemx
BD云: https://pan.baidu.com/s/1Zs_FVscmGGx6zSzcZ0L2BA?pwd=tkiv
提取: tkiv
在这里插入图片描述

3.打开安装包

在这里插入图片描述
同意协议–下一步
在这里插入图片描述
选择–i have…–NEXT
在这里插入图片描述
选择YES --NEXT在这里插入图片描述
直接选择NEXT,不用设置其他,直接安装即可在这里插入图片描述
看到Done后安装完成。
3.安装HAL库,可以选择在线安装和离线安装两种方式。
这里将选用在线安装的方式。
打开安装好的 STM32CubeMX 软件
Help–Manage embedded software packages
在这里插入图片描述选择型号界面 勾选上需要安装的HAL库,选择“Install Now” 直到安装成功

二、利用HAL库创建新项目

1.在STMCubeMX的主界面创建新项目

在这里插入图片描述在Part Number中选择STM32F103C8,在信息栏中选择具体芯片信息,选择Start Project:在这里插入图片描述
选择System Core–SYS–在Debug下选择Serial Wire
在这里插入图片描述观察时钟架构,APB2总线的时钟由hse控制,选择PLLCLK右边在这里插入图片描述在HSE处选择Crystal/Ceramic Resonator在这里插入图片描述选择相应的引脚设置输出寄存器,Output–PA4,PB9,PC15
Project Manager,配置相关的路径和项目名,在IDE处改为MDK-ARM
在这里插入图片描述Code Generate界面,选择生成初始化.c/.h文件,后面点击GENERATE CODE,选择open project在这里插入图片描述

2.keil仿真调试

进入KEIL5,打开后缀名为.uvprojx的文件

在这里插入图片描述在main.c中的主函数部分,进行替换
在这里插入图片描述

SystemClock_Config();//系统时钟初始化
  MX_GPIO_Init();//gpio初始化
  while (1)
  {		
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//PA4亮灯
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
		HAL_Delay(1000);//延时1s
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
		HAL_Delay(1000);//延时1s		
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
		HAL_Delay(1000);//延时1s
	}

3.线路的连接

USB转TTL模块和stm32f103c8t6连接引脚图如下
在这里插入图片描述

GND — GND
3v3 — 3v3
TXD — A10
RXD — A9
boot0设为1,boot1设为0,利用跳线帽实现在这里插入图片描述在这里插入图片描述

4.烧录实现流水灯

利用生成的hex文件使用mcuisp烧录软件,对程序进行烧录。在这里插入图片描述
程序运行结果如下:
在这里插入图片描述

5.GPIO口的输出波形

在这里插入图片描述

三、总结

通过本次学习更好的理解了STM32F103系列芯片及HEL库的使用,更好的完成GPIO端口时钟配置、输入输出模式设置、最大速率设置,接线时需要注意接口以及STM32芯片的引脚图,对stm32的学习更加具有实际意义。

参考文献

STM32 CubeMx使用教程
STM32F103C8T6核心板——引脚的使用
STM32F103C8T6单片机简介

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值