STM32cubemx学习记录————点灯(基于STM32F407ZG)

STM32cubemx

TM32CubeMX 是意法半导体 STMCube的主动原创,可以减轻开发工作,时间和费用。
STM32Cube 覆盖了 STM32 系列。
STM32Cube 包括 STM32CubeMX,STM32CubeMX 是一款图形化软件设置工具,允许使用图形化向导来生成 C 初始化代码。
它 也 集 成 了 一 个 全 面 的 软 件 平 台 , 支 持 每 一 个 系 列 ( 例 如STM32F4 系 列 的STM32CubeF4)。这个平台包括 STM32Cube HAL(一个 STM32 的抽象层集成软件,确保STM32 系列最大的移植性。)再加上兼容的一套中间件(RTOS,USB,TCP/IP 和图形),所有内嵌软件组件附带了全套例程。

点灯教程

一、安装stm32cubemx

1、下载可以到ST官网去下载,并下载对应的固件包

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第1张图片

2、下载对应的固件包,我这边选择F4下载

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第2张图片

3、软件安装完成之后的界面(5.1.0版本),点击help

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第3张图片

4、点击Manage embedded software packages

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第4张图片

5、点击From Local,选择刚刚下载好的固件包安装

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第5张图片

二、新建工程

1、点击主界面ACCESS TO MCU SELECTOR

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第6张图片

2、点击搜索框搜索对应的开发板的型号(我用的F407ZG)

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第7张图片

3、双击对应的开发板

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第8张图片
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第9张图片

三、配置IO口,时钟

1、时钟选择

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第10张图片

2、选择Crystal/Ceramic Resonator,晶振

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第11张图片

3、回到主页面,选择 Clock Configuration,配置时钟(根据实际板子来配置,我的配置是根据F407ZG开发板)

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第12张图片
时钟配置界面
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第13张图片

4、配置IO口,F407的LED是PF9、PF10

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第14张图片
点击PF9、PF10 设置为GPIO_Output
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第15张图片

5、点击主界面GPIO

IO口的一些相关配置可以配置,默认的话也可以
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第16张图片

四、输出代码

1、点击主界面的Project Manager

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第17张图片

2、配置输出代码的路径、工程名字和编译环境

生成工程的路径不要带有中文,否则会出错
根据自己的编译器选择IDE 我是使用keil5
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第18张图片
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第19张图片

3、生成代码

点击GENERATE CODE
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第20张图片
代码成功生成
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第21张图片

五、添加自定义代码块

1、打开工程

选择对应的开发板

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第22张图片

2、增加代码

在主函数的while中的

		/* USER CODE BEGIN 3 */
		/* USER CODE END 3 */

添加

		HAL_GPIO_WritePin (GPIOF,GPIO_PIN_9,GPIO_PIN_RESET);
		//将PF9拉低
		HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_SET);
		//将PF10拉高
		HAL_Delay(1000);//延时1000ms
		HAL_GPIO_WritePin (GPIOF,GPIO_PIN_9,GPIO_PIN_SET);
		//将PF9拉高
		HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_RESET);
		//将PF10拉低
		HAL_Delay(1000);

STM32cubemx学习记录————点灯(基于STM32F407ZG)_第23张图片

2、编译、下载到开发板

配置烧录
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第24张图片
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第25张图片
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第26张图片
STM32cubemx学习记录————点灯(基于STM32F407ZG)_第27张图片
保存设置。

效果:两个LED灯交替闪烁

总结

stm32cubemx使我们在配置GPIO、外设之类的节省了很多的时间,采用图形化界面来配置stm32也使我们更加清楚地去了解。软件并不难使用,但是在使用之前需要对stm32开发板有一点的了解,在刚开始接触stm32开发板的新手来讲还是不建议直接使用stm32cubemx来生成代码。
我也是一名刚刚接触这款软件的新手,如果上面的教程有什么出错的地方 还请多多指教。

你可能感兴趣的:(学习记录)