其他分享
首页 > 其他分享> > 使用STM32CubeMX实现流水灯

使用STM32CubeMX实现流水灯

作者:互联网

文章目录


一、安装STM32CubeMX

(一)下载并安装

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

  1. 以管理员身份运行并安装 SetupSTM32CubeMX-6.3.0.exe ,进入下面这个界面后,点击Next
    在这里插入图片描述

  2. 点击"I accept the terms of this license agreement",接着选择Next
    在这里插入图片描述

  3. 选择I have read and understand…,然后点击next
    在这里插入图片描述

  4. 选择安装位置,点击next,然后点击yes
    在这里插入图片描述

  5. 选择Next
    在这里插入图片描述

  6. 安装完成后,选择Next
    在这里插入图片描述

  7. 点击Done就完成安装
    在这里插入图片描述

(二)安装固件库

运行STM32CubeMX 6.3,选择 Help->Magne 安装固件库
在这里插入图片描述


二、流水灯实现

运行STM32CubeMX 6.3,选择File下的New Project
在这里插入图片描述
选择自己的芯片类型(我这里用的是stm32f103c8t6),选择下边的item,然后Start Project
在这里插入图片描述
选择System Core下的SYS,将Debug设置为Serial Wire:
在这里插入图片描述

1. 配置时钟

将RCC 下的HSE 设置为Crystal/Ceramic Resonator
在这里插入图片描述
在Clock Configuration 下,选择PLLCLK
在这里插入图片描述

2. GPIO设置

选择GPIO,依次将B0、C15、A0设置为GPIO_Output:
在这里插入图片描述
将三个引脚的输出默认改为高电平High
在这里插入图片描述

3. 项目配置

在Project Manager下的Project中设置工程名称和工程路径,并选择编译软件:
在这里插入图片描述
在Code Generate中选择第一个,然后Generate Code,即生成代码:
在这里插入图片描述
打开项目中的main.c文件,并在while 循环中写入以下代码:

	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(GPIOC, GPIO_PIN_15, GPIO_PIN_RESET);  // 灯2亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);  // 灯2灭
	  
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET);  // 灯3亮
	HAL_Delay(1000); // 延时1s
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);  // 灯3灭

在这里插入图片描述
将电路连接好,然后编译代码,并烧录。结果如下:
在这里插入图片描述


三、波形图观察

  1. 在Keil 里面打开魔术棒,设置Debug
    在这里插入图片描述
  2. 点击调试
    在这里插入图片描述
  3. 选择逻辑分析仪
    在这里插入图片描述
  4. 点击Setup Logic Analy,添加要观察的引脚:
    在这里插入图片描述
  5. 输入管脚,Display Type选择Bit
    在这里插入图片描述
  6. 运行程序,即可看到波形图
    在这里插入图片描述

总结

通过HAL 库实现流水灯实验,也是更加里了解了GPIO 管脚的配置。并且通过观察波形,可以检测设置的周期是否正确。

参考

https://blog.csdn.net/qq_43279579/article/details/112213196
https://blog.csdn.net/qq_43279579/article/details/112233696
https://www.cnblogs.com/young-dalong/p/14728012.html

标签:HAL,PIN,实现,WritePin,STM32CubeMX,选择,流水,GPIO,安装
来源: https://blog.csdn.net/m0_59416558/article/details/120829728