STM32CubeMX-流水灯实战

文章目录

  • STM32CubeMX笔记-流水灯
    • 一、初始准备
      • 1.硬件平台
      • 2.软件平台
    • 二、操作步骤
      • 1.CubeMX生成初始化代码
      • 2.Keil编写流水灯代码
      • 3.程序下载,观察现象
    • 三、源码仓库

STM32CubeMX笔记-流水灯

一、初始准备

1.硬件平台

使用正点原子STM32F4探索者

STM32CubeMX-流水灯实战_第1张图片

2.软件平台

STM32CubeMX软件平台

Keil5软件平台

STM32CubeProgrammer下载平台

STM32CubeMX-流水灯实战_第2张图片

二、操作步骤

1.CubeMX生成初始化代码

  • 芯片选择

打开cube软件,点击MCU选择

STM32CubeMX-流水灯实战_第3张图片

F4探索者的主控为STM32F407ZET6,所以在搜索框找到STM32F407ZE后点击具体芯片,再开始工程

STM32CubeMX-流水灯实战_第4张图片

  • 配置时钟源

我们点开SystemCore(系统内核设置),再点击RCC配置HSE和LSE时钟源,这里我都选择使用外部时钟,配置后,我们可以看到右边芯片引脚分配图的两个时钟源引脚点亮,表示配置完成

STM32CubeMX-流水灯实战_第5张图片

  • 配置时钟树

我们进入ClockConfiguration配置时钟树,使时钟的输入路径和大小符合我们预期,精英板的晶振和时钟倍频如下

STM32CubeMX-流水灯实战_第6张图片

一般配置正确时颜色蓝白为主,配置错误时则会出现紫色,提示我们要修改值

STM32CubeMX-流水灯实战_第7张图片

  • 配置GPIO

时钟正常工作后我们就要配置板上LED的GPIO管脚,查询探索者原理图,我们可以看到,LED的GPIO原理图如下,分别使用了PF9和PF10

在这里插入图片描述

所以我们在引脚分配图内找到这两个引脚,点击配置他们输出

STM32CubeMX-流水灯实战_第8张图片

GPIO配置并未结束,我们进入SystemCore的GPIO内,再进一步配置这两个管脚,选择我们要配置的管脚,软件出现配置项(Configuration),每个配置项对应的含义如下:

  1. GPIO Outpu Level:初始上电默认输出电平,我们选默认高电平
  2. GPIO Mode:GPIO口工作模式,这里选的推挽输出
  3. GPIO Pull-up/Pull-down:GPIO口的上下拉选择,我们选上拉
  4. Maximum output speed:IO口输出速率,选高
  5. User Label:软件生成代码的IO口宏定义名称,设置后可以方便移植

STM32CubeMX-流水灯实战_第9张图片

  • 生成工程代码

配置生成工程的名字,存储路径以及编译器,这里我们选MDK-ARM(Keil被收购后改名)

STM32CubeMX-流水灯实战_第10张图片

配置生成选项,主要为下面三大块,第一个我们选择只拷贝必要的库,第二个选择为每个外设生成.c和.h文件,保存之前的用户代码,以及删除之前的生成代码,第三个不选择

PS:用户代码段是一下注释之间的代码

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

STM32CubeMX-流水灯实战_第11张图片

最后点击生成代码

STM32CubeMX-流水灯实战_第12张图片

然后我们打开代码工程,如下:

STM32CubeMX-流水灯实战_第13张图片

我们可以在main.h里面看到我们定义的端口

STM32CubeMX-流水灯实战_第14张图片

2.Keil编写流水灯代码

我们点击main.c,在如下位置注释中间插入自己编写的流水灯代码

STM32CubeMX-流水灯实战_第15张图片

代码如下:

    /* USER CODE END WHILE */
		HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);
		HAL_Delay(1000);
		HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
		HAL_Delay(1000);
    /* USER CODE BEGIN 3 */

添加后我们编译一下,编译通过如下:

STM32CubeMX-流水灯实战_第16张图片

3.程序下载,观察现象

程序下载我一般用两种方式:

第一种是使用MDK自带的下载环境下载程序,我们给单片机连接ST-Link后配置下载,点击魔术棒,选择debug

STM32CubeMX-流水灯实战_第17张图片

选择ST-link后,点击setting

STM32CubeMX-流水灯实战_第18张图片

添加对应F4的Flash

STM32CubeMX-流水灯实战_第19张图片

keil界面点击下载

STM32CubeMX-流水灯实战_第20张图片

第二种是使用Stm32Programmer下载软件,该下载软件下载方式多,下载快,下面我使用st-link下载

打开软件,点击connect左边选择stlink后再点击connect连接下载器

STM32CubeMX-流水灯实战_第21张图片

点击open file,找到工程路径下MDK文件夹下工程生成的hex文件

STM32CubeMX-流水灯实战_第22张图片

之后点击downlo下载,下载结果如下

STM32CubeMX-流水灯实战_第23张图片

按一下复位后出现流水灯现象

STM32CubeMX-流水灯实战_第24张图片

三、源码仓库

Github链接:link

你可能感兴趣的:(STM32,stm32,嵌入式,流水灯,cubemx,单片机)