STM32CubeMx入门教程(1):点亮LED
来源:嵌入式开发始站    时间:2023-07-11 15:23:05

“使用stm32cubeMX 工具进行代码生成,以LED点灯为例”

01STM32CubeMx的使用条件


(相关资料图)

1.硬件条件:

(1)野火STM32F103开发板-指南者

(2)原理图

原理图可以参考官网,在stm32CubeMx入门教程的使用中会将用到的部分原理图以图片的形式贴出。

2.软件

(1)STM32CubeMX 从STM公司官网下载

(2) STM32CubeF1 这是F1系列的HAL库,使用cubeMx进行代码初始化配置和代码生成就使用的这个库,可以根据自己的单片机系列选择下载地址。

(3) MDK 这个软件大家可以自己下载,如果使用其他的编译软件CubeMX 也是支持的。

注意:SetupSTM32CubeMX最新的版本是6.1.0,安装可简单,一路next 可以完成,但是这个软件是使用Java开发,需要使用Java的运行环境。安装 jre软件:jre-8u271-windows-x64,我会在百度云提供,大家可以自行下载最新版本。

02STM32CubeMx点亮LED灯

2.1 STM32CubeMx新建项目

菜单 File->New Project

新建项目如出现服务器的软件更新等,选择Cancel。

出现芯片选择界面,根据需求选择,这里选择野火指南者的芯片STM32F103VET6,LQFP100,100引脚的芯片,点击start project。

2.2 初始化代码

(1)根据原理图选择时钟

在CubeMX中配置选择时钟,外部高速时钟。

(2)时钟配置

点击 Clock Configuration,输入外部8MHz,HCLK 72MHz。

(3)

GPIO 配置,根据LED引脚选择GPIO

以LED-G

绿灯为例,配置LED引脚PB0,低速,输出模式,上下拉,LED 为LED-G。

项目配置

(4)项目配置,如图所示,添加项目名称,可以选择项目生成的位置,工具链选择(这里使用MDK),堆栈设置,HAL库的位置选择。

(5)Code Generator 的设置

(6)代码生成

配置到这儿,cubeMX已经完成了时钟配置,GPIO配置。使用MDK打开项目就可以控制LED了,可以可出cubeMX主要完成代码初始化配置。

03MDK 项目编写应用代码

使用MDK打开工程

对于cubeMX生成的代码可以从图中看出,软件已经帮我们完成了基本的初始化,我们只需要在main.c while(1)主函数中添加我们的应用代码,不像标准库一样手动的添加外设初始化、时钟初始化的配置代码。

现在我们需要操作GPIO来控制LED的灯的亮 or灭。GPIO的操作函数有很多,在stm32f1xx_hal_gpio.h 中查找。

我们在main.c 的主函数中while(1)循环中加入控制LED灯的代码,如下图所示:

HAL_Delay()是毫秒延迟函数,参数3000是3s。使用HAL_GPIO_WritePin() 写入RESET 和SET 控制写1和写0。

编译程序

编译程序没有出错,配置编译器进行程序下载。下载器的选择配置如下图所示。

04看效果如何

可以看出LED-绿色的灯美三秒闪烁一下。

X 关闭

Copyright   2015-2022 南方咨询网版权所有  备案号:粤ICP备18023326号-21   联系邮箱:855 729 8@qq.com