STM32CubeMx入门教程(1):点亮LED

控制/MCU

1814人已加入

描述

“使用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-绿色的灯美三秒闪烁一下。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分