
STM32CubeMx入门教程(1)-点亮LED “ 使用stm32cubeMX 工具进行代码生成,以LED点灯为例” 01 STM32CubeMx的使用条件 1.硬件条件: (1)野火STM32F103开发板-指南者 ![]() (2)原理图 原理图可以参考官网,在stm32CubeMx入门教程的使用中会将用到的部分原理图以图片的形式贴出。 2. 软件 (1)STM32CubeMX 从STM公司官网下载,下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html#tools-software ![]() (2) STM32CubeF1 这是F1系列的HAL库,使用cubeMx进行代码初始化配置和代码生成就使用的这个库,可以根据自己的单片机系列选择下载地址:https://www.st.com/content/st_com/zh/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-mcu-mpu-packages/stm32cubef1.html ![]() (3) MDK 这个软件大家可以自己下载,如果使用其他的编译软件CubeMX 也是支持的。 注意:SetupSTM32CubeMX最新的版本是6.1.0,安装可简单,一路next 可以完成,但是这个软件是使用Java开发,需要使用Java的运行环境。安装 jre软件:jre-8u271-windows-x64,我会在百度云提供,大家可以自行下载最新版本。 02 STM32CubeMx点亮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主要完成代码初始化配置。 03 MDK 项目编写应用代码 使用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-绿色的灯美三秒闪烁一下。 文章出处: 小鸟的早晨 8 ^6 [. E! b e |