STM32CubMx自学笔记(一)LED灯翻转

STM32CubMX自学笔记(一)---LED灯翻转

  • 工程创建
  • 系统具体配置
  • 工程代码编写
  • 下载验证
    • 结语

工程创建

首先得安装STM32CubMx软件。具体安装步骤参照 保姆级安装步骤,这里将不再赘述,第一节主要是介绍新工程的创建,首先在桌面打开新安装的STM32CubMx软件,主界面如下所示。
STM32CubMx自学笔记(一)LED灯翻转_第1张图片我们点击File->NewProject(或者Ctrl+N)创建新工程,如下图所示,我们在输入框中搜索用到的STM32芯片,我的开发板是正点原子的STM32F407ZGT,所以我在输入框输入STM32F407ZGTx,如果以后一直用这块开发板可以在复选框选择五角星收藏,下次使用时,直接双击五角星就出现收藏的芯片了。
STM32CubMx自学笔记(一)LED灯翻转_第2张图片

系统具体配置

创建好工程后主界面显示分为以下几个模块,左侧为系统外设。右侧为STM32F4主控芯片。使用一块芯片首先要对系统时钟进行配置,而系统时钟配置之前,首先要做的是使能系统时钟。
STM32CubMx自学笔记(一)LED灯翻转_第3张图片点击System Core->RCC分别开启系统时钟,配置如下图所示。

STM32CubMx自学笔记(一)LED灯翻转_第4张图片然后打开正点原子的探索者F4芯片原理图,查看LED等挂载在哪个引脚下。如下图所示,因此,我们需要使能PF9和PF10引脚。

STM32CubMx自学笔记(一)LED灯翻转_第5张图片

这里把PF9、PF10分别配置为输出模式。
STM32CubMx自学笔记(一)LED灯翻转_第6张图片STM32CubMx自学笔记(一)LED灯翻转_第7张图片
点击左侧GPIO,根据原理图,可以配置GPIO的具体特性,这里配置输出电平为高电平。输出模式为推挽输出,上拉,高速。具体的GPIO不同输出模式可参照: GPIO的详细介绍
STM32CubMx自学笔记(一)LED灯翻转_第8张图片

STM32CubMx自学笔记(一)LED灯翻转_第9张图片
配置完毕后进入项目管理,给文件命名,并设置生成的IDE版本,这里生成的是MDK5版本。
STM32CubMx自学笔记(一)LED灯翻转_第10张图片为了减少代码的编译时间在Project选择第二个,而在Code Generator选择第一个 添加.c和.h文件,避免生成的代码杂糅在一起,全部配置完毕之后,选择GENERATOR CODE

STM32CubMx自学笔记(一)LED灯翻转_第11张图片首先我们编译一下,发现有1个error,这是软件问题,生成文件时,没有添加启动文件。
STM32CubMx自学笔记(一)LED灯翻转_第12张图片我们右键第二个文件夹,点击 Manage Project Items。

STM32CubMx自学笔记(一)LED灯翻转_第13张图片

点击右边的Add File,文件类型选择All files 选择 xx.s文件,添加即可。

STM32CubMx自学笔记(一)LED灯翻转_第14张图片
至此我们再编译一下,0error,0warnings。
STM32CubMx自学笔记(一)LED灯翻转_第15张图片至此,新工程创建完毕。

工程代码编写

实验实现的功能是每隔0.5S实现2个LED灯的翻转,在此,调用了HAL库的库函数实现功能。打开main.c文件,在while(1)循环中插入如下代码,(注意:要把代码插入在 BEGIN与END之间,这样在下次添加系统配置的时候,此段代码不会被系统删除)。

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

此段代码来源于,hal_gpio.c,此文件夹下,详尽描述了所有关于GPIO外设功能是使用以及初始化配置,其他用法均可参照文件中描述。
STM32CubMx自学笔记(一)LED灯翻转_第16张图片

下载验证

将写好的程序,下载入正点原子开发板,符合实验现象,实验完毕。
STM32CubMx自学笔记(一)LED灯翻转_第17张图片

结语

本实验主要讲述了一个新的工程的创建,以及如何时候使用HAL库中的库函数来实现我们想要的功能,HAL库的简便之处,就是我们可以使用图形界面对系统进行初始化配置,不会需要管理底层系统配置问题,极大的方便了对应用层面的开发。
码字不易,点个赞再走吧~

你可能感兴趣的:(STM32,嵌入式,单片机)