欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-24 09:07:01
...

STM32cubemx

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

点灯教程

一、安装stm32cubemx

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

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

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

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

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

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

4、点击Manage embedded software packages

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

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

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

二、新建工程

1、点击主界面ACCESS TO MCU SELECTOR

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

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

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

3、双击对应的开发板

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

三、配置IO口,时钟

1、时钟选择

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

2、选择Crystal/Ceramic Resonator,晶振

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

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

STM32cubemx学习记录————点灯(基于STM32F407ZG)
时钟配置界面
STM32cubemx学习记录————点灯(基于STM32F407ZG)

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

STM32cubemx学习记录————点灯(基于STM32F407ZG)
点击PF9、PF10 设置为GPIO_Output
STM32cubemx学习记录————点灯(基于STM32F407ZG)

5、点击主界面GPIO

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

四、输出代码

1、点击主界面的Project Manager

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

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

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

3、生成代码

点击GENERATE CODE
STM32cubemx学习记录————点灯(基于STM32F407ZG)
代码成功生成
STM32cubemx学习记录————点灯(基于STM32F407ZG)

五、添加自定义代码块

1、打开工程

选择对应的开发板

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

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)

2、编译、下载到开发板

配置烧录
STM32cubemx学习记录————点灯(基于STM32F407ZG)
STM32cubemx学习记录————点灯(基于STM32F407ZG)
STM32cubemx学习记录————点灯(基于STM32F407ZG)
STM32cubemx学习记录————点灯(基于STM32F407ZG)
保存设置。

效果:两个LED灯交替闪烁

总结

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