使用STM32CubeMX实现流水灯

文章目录


一、安装STM32CubeMX

(一)下载并安装

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

  1. 以管理员身份运行并安装 SetupSTM32CubeMX-6.3.0.exe ,进入下面这个界面后,点击Next
    使用STM32CubeMX实现流水灯

  2. 点击"I accept the terms of this license agreement",接着选择Next
    使用STM32CubeMX实现流水灯

  3. 选择I have read and understand…,然后点击next
    使用STM32CubeMX实现流水灯

  4. 选择安装位置,点击next,然后点击yes
    使用STM32CubeMX实现流水灯

  5. 选择Next
    使用STM32CubeMX实现流水灯

  6. 安装完成后,选择Next
    使用STM32CubeMX实现流水灯

  7. 点击Done就完成安装
    使用STM32CubeMX实现流水灯

(二)安装固件库

运行STM32CubeMX 6.3,选择 Help->Magne 安装固件库
使用STM32CubeMX实现流水灯


二、流水灯实现

运行STM32CubeMX 6.3,选择File下的New Project
使用STM32CubeMX实现流水灯
选择自己的芯片类型(我这里用的是stm32f103c8t6),选择下边的item,然后Start Project
使用STM32CubeMX实现流水灯
选择System Core下的SYS,将Debug设置为Serial Wire:
使用STM32CubeMX实现流水灯

1. 配置时钟

将RCC 下的HSE 设置为Crystal/Ceramic Resonator
使用STM32CubeMX实现流水灯
在Clock Configuration 下,选择PLLCLK
使用STM32CubeMX实现流水灯

2. GPIO设置

选择GPIO,依次将B0、C15、A0设置为GPIO_Output:
使用STM32CubeMX实现流水灯
将三个引脚的输出默认改为高电平High
使用STM32CubeMX实现流水灯

3. 项目配置

在Project Manager下的Project中设置工程名称和工程路径,并选择编译软件:
使用STM32CubeMX实现流水灯
在Code Generate中选择第一个,然后Generate Code,即生成代码:
使用STM32CubeMX实现流水灯
打开项目中的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灭

使用STM32CubeMX实现流水灯
将电路连接好,然后编译代码,并烧录。结果如下:
使用STM32CubeMX实现流水灯


三、波形图观察

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

总结

通过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

上一篇:通过joystick遥感和按键控制机器人--11


下一篇:用STM32cubemx生成keil工程完成流水灯和串口通信