单片机
返回首页

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

2024-08-29 来源:elecfans

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


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

最新器件
精选电路图
  • 简洁的过零调功器电路设计与分析

  • 光控电路设计与分析

  • IGBT模块通过控制门极阻断过电流

  • MT3608构成3.7V转12V的升压电路图

  • 运算放大器IC741的基本工作原理及在电路中的实现方式

  • 一个简单的红外耳机电路

    相关电子头条文章