STM32基于HAL库流水灯实验

STM32基于HAL库流水灯实验

  • 一、搭建STM32的开发环境
    • (一)安装jdk
    • (二)安装STM32CubeMX
    • (三)安装MDK5
  • 二、HEL库GPIO端口3只LED红绿灯的周期闪烁
    • (一)CubeMX建项目
    • (二)main.c代码修改
    • (三)烧录运行结果
  • 三、波形观察
  • 四、总结
  • 五、参考文献

一、搭建STM32的开发环境

(一)安装jdk

由于STM32CubeMX是Java实现的,需要安装jdk环境。
jdk官网下载链接:
https://www.oracle.com/java/technologies/javase-downloads.html

(二)安装STM32CubeMX

1.下载地址:
https://www.st.com/en/development-tools/stm32cubemx.html
2.安装过程
①以管理员身份运行并安装 SetupSTM32CubeMX-4.27.0.exe ,进入下面这个界面后,点击Next
STM32基于HAL库流水灯实验_第1张图片
STM32基于HAL库流水灯实验_第2张图片

②勾选"I accept the terms of this license agreement",接着选择Next

STM32基于HAL库流水灯实验_第3张图片

③选择安装位置,默认位置是安装在C盘中(注意:安装位置不要出现中文)
STM32基于HAL库流水灯实验_第4张图片

④点击确定
STM32基于HAL库流水灯实验_第5张图片

⑤选择Next
STM32基于HAL库流水灯实验_第6张图片

⑥安装完成后,选择Next
STM32基于HAL库流水灯实验_第7张图片

⑦点击Done就完成安装
STM32基于HAL库流水灯实验_第8张图片

3.安装固件库
①运行CubeMX

STM32基于HAL库流水灯实验_第9张图片
②选择 Help->Magne .... 安装固件库
STM32基于HAL库流水灯实验_第10张图片

(三)安装MDK5

具体安装请参照下面链接:
https://blog.csdn.net/qq_43279579/article/details/108880667

二、HEL库GPIO端口3只LED红绿灯的周期闪烁

(一)CubeMX建项目

1.新建File->Project
STM32基于HAL库流水灯实验_第11张图片
2.选择芯片STM32F103C8

STM32基于HAL库流水灯实验_第12张图片
3.SYS选择
STM32基于HAL库流水灯实验_第13张图片
4.RCC选择
STM32基于HAL库流水灯实验_第14张图片
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT,我选择的是PC13,PA15,PC0
STM32基于HAL库流水灯实验_第15张图片
STM32基于HAL库流水灯实验_第16张图片

STM32基于HAL库流水灯实验_第17张图片
STM32基于HAL库流水灯实验_第18张图片
6.Clock Configuration设置STM32基于HAL库流水灯实验_第19张图片
7.Project Manager设置
STM32基于HAL库流水灯实验_第20张图片

STM32基于HAL库流水灯实验_第21张图片
8.创建完成并用keil打开
STM32基于HAL库流水灯实验_第22张图片
STM32基于HAL库流水灯实验_第23张图片

(二)main.c代码修改

1.在while(1)中输入以下代码

    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);  // 灯1亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);  // 灯1灭
	  
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);  // 灯2亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);  // 灯2灭
	  
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);  // 灯3亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);  // 灯3灭

2.点击编译生成hex文件
STM32基于HAL库流水灯实验_第24张图片
STM32基于HAL库流水灯实验_第25张图片

(三)烧录运行结果

1.打开mcuisp,进行烧录

STM32基于HAL库流水灯实验_第26张图片
2.烧录成功
STM32基于HAL库流水灯实验_第27张图片
3.烧录结果
STM32基于HAL库流水灯实验_第28张图片

三、波形观察

1.设置Debug
STM32基于HAL库流水灯实验_第29张图片
2.点击调试
STM32基于HAL库流水灯实验_第30张图片

3.选择逻辑分析仪
STM32基于HAL库流水灯实验_第31张图片

4.选择要观察的引脚:
①点击Setup Logic Analy
STM32基于HAL库流水灯实验_第32张图片

②添加要观察的引脚:
STM32基于HAL库流水灯实验_第33张图片
5.输入(PORTB & 0X00000000)>>0Display Type选择Bit,依次输入(PORTA & 0X00008000)>>15(PORTC & 0X00002000)>>13STM32基于HAL库流水灯实验_第34张图片
STM32基于HAL库流水灯实验_第35张图片
6.运行程序
STM32基于HAL库流水灯实验_第36张图片
7.波形图
STM32基于HAL库流水灯实验_第37张图片

四、总结

本次流水灯实验,理清了流水灯的原理,首先是包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。实现流水效果(main 函数),需要一个 while 循环,保持程序一直运行,调用延时函数 HAL_Delay(1000),延时1000s,实现流水效果。

五、参考文献

使用STM32CubeMX实现流水灯
STM32 观察波形

你可能感兴趣的:(笔记,stm32,嵌入式硬件)