使用HAL库、STM32CubeMX和Keil 5开发入门教程(一):点亮一盏LED灯(NUCLEO-F411RE)

本教程以点亮一盏LED灯为目的为大家演示用STM32CubeMX、Keil、ST-Link开发STM32程序的一般方法。

一、学习前的准备工作

硬件:一块STM32开发板,一个ST-Link;(我使用的开发板是NUCLEO-F411RE)
软件:装好ST-Link的驱动程序,装好STM32CubeMX,装好Keil;
文档:开发板的原理图、芯片的参考手册和HAL驱动说明书。
附:STM32F4xx HAL驱动说明书

二、创建一个新的STM32CubeMX工程

打开STM32CubeMX,然后单击New Project
打开STM32CubeMX,然后单击*New Project*
选择Series(系列)、Lines(系列)、Package(封装),然后选中自己MCU的型号,点击OK:(我的MCU是STM32F411RE,64引脚LQFP封装)
选择*Series*(系列)、*Lines*(系列)、*Package*(封装),然后选中自己MCU的型号,点击*OK*。(我的MCU是STM32F411RE,64引脚LQFP封装)
至此一个STM32CubeMX工程已经建立好:
至此一个STM32CubeMX工程已经建立好

三、配置对应引脚,然后生成Keil工程

打开开发板原理图,查看LED灯对应的引脚:(如图所示,让PA5引脚输出高电平即可点亮LED)
打开开发板原理图,查看LED灯对应的引脚
点击Pinout,然后单击LED灯对应的引脚,选择GPIO_Output模式:(将PA5设置成通用输入输出口的输出模式,具体请参考Reference manual中的GPIO introduction)
点击*Pinout*,然后单击LED灯对应的引脚,选择*GPIO_Output*模式
由于本例程不需要配置时钟、中间件和外围设备,也不需要计算功耗,所以Clock ConfigurantionConfigurationPower Consumption Caculator保持默认。
点击菜单栏的Project->Settings,输入STM32CubeMX工程名称、保存路径以及自己的工具链/集成编译环境,Code Generator中的设置保持默认,然后点击OK:(我的STM32CubeMX工程名称为LD2,保存路径为桌面,集成编译环境为Keil 5)
点击菜单栏的*Project*->*Settings*,输入STM32CubeMX工程名称、保存路径以及自己的工具链/集成编译环境,*Code Generator*中的设置保持默认,然后点击*OK*
然后点击菜单栏的Project->Generate Code,或者点击Generate Code快捷键快捷键生成包含HAL库的Keil工程以及初始化代码。此时对应路径上即会出现一个以此STM32CubeMX工程名称为名称的文件夹。打开对应路径上的文件夹,其中以.ioc为扩展名的文件即为STM32CubeMX的工程文件,以集成编译环境为名字的文件夹中含有以此STM32CubeMX工程名称为名称的此集成编译环境的工程文件,Drivers目录中包含了驱动程序,Inc目录中包含了头文件,Src目录中包含了源代码:(LD2.ioc文件即为刚刚创建的STM32CubeMX工程,MDK-ARM文件夹中的LD2.uvprojx文件即为刚刚生成的Keil工程)
包含HAL库的Keil工程以及初始化代码

四、 在Keil工程中添加自己的代码,然后编译、下载

打开Keil工程,根据注释找到添加代码的地方。请不要在提示之外的地方添加代码,否则再次生成STM32CubeMX工程时会被删除:(因为STM32CubeMX已经帮我们生成了初始化代码,所以我们只需要在/* USER CODE BEGIN 2 /与/ USER CODE END 2 */之间添加一句使PA5输出高电平的代码)
打开Keil工程,根据注释找到添加代码的地方。请不要在提示之外的地方添加代码,否则再次生成STM32CubeMX工程时会被删除
打开HAL驱动说明书找到我们需要的API,然后根据说明添加代码:(根据说明得到使PA5输出高电平的代码为HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
打开HAL驱动说明书找到我们需要的API,然后根据说明添加代码
往工程中添加代码,然后点击编译编译,用ST-Link连接好计算机和开发板后点击下载下载:
往工程中添加代码,然后编译、下载

五、 下载完成后复位开发板,然后开发板的LD2(绿灯)亮了

下载完成后复位开发板,然后开发板的LD2(绿灯)亮了

  • 15
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: STM32是一款非常流行的微控制器,而HAL库STM32CubeMX则是STM32开发中非常重要的工具。HAL库STM32官方提供的一套硬件抽象层库,可以方便地进行底层硬件操作。而STM32CubeMX则是一款图形化的STM32配置工具,可以帮助开发者快速配置STM32的各种参数和外设。 如果你想学习如何使用HAL库STM32CubeMX进行STM32开发,可以参考以下教程: 1. STM32CubeMX教程:https://www.elecfreaks.com/13511.html 2. HAL库教程:https://www.elecfreaks.com/13512.html 这两篇教程都是非常详细的,包含了从安装配置到具体使用的所有步骤和注意事项。如果你是初学者,建议先从STM32CubeMX教程开始学习,然后再学习HAL库使用。祝你学习愉快! ### 回答2: STM32是一种微控制器芯片,HAL库STM32芯片上运行的一个软件库,STM32CubeMX是一款开发STM32的集成开发环境(IDE),三者相结合可以帮助开发者更加方便快捷地开发STM32芯片应用。 HAL库简介: HAL即Hardware Abstraction Layer,是一种硬件抽象层,主要作用是将设备特定的功能与应用程序隔离,为应用程序提供一种通用、一致的编程接口。HAL库针对不同的硬件平台,提供了简化的 API 接口,方便开发者编写控制程序。HAL库不仅包含了GPIO、USART、SPI、I2C等通信协议的驱动程序,还提供了RTT(实时跟踪),USB,FSMC等高级驱动程序。 STM32CubeMX简介: STM32CubeMX是STMicroelectronics公司推出的集成开发环境(IDE),它为STM32的软硬件设计提供了全面支持。它能够自动生成C代码,用于配置MCU的参数和外围设备,从而简化STM32开发流程。STM32CubeMX具有直观的图形界面和标准的配置菜单,可方便地初始化各种复杂的设置与参数。更值得一提的是,STM32CubeMX还能根据用户的设备选型,自动生成基于HAL库的样板代码。 STM32CubeMX使用教程: 1.打开STM32CubeMX并在打开文件夹中打开相应的工程文件。 2.选择相应的芯片型号,并根据需要进行配置。 3.选择芯片的外设,设置其参数,然后生成代码。 4.在vscode或IAR等IDE中导入所生成的代码,然后开始开发。 总的来说,HAL库STM32CubeMX是一对黄金搭档,使得STM32芯片的开发更加快捷、便利。对于初学者而言,使用STM32CubeMX辅助开发可降低学习和开发难度,加快开发效率;对于有经验的工程师而言,它能够提高代码的可读性,使得代码重用和维护更加方便。 ### 回答3: STM32是指意法半导体推出的一款基于ARM Cortex®-M内核的32位微控制器,具有高性能、低功耗和丰富的外设特性。HAL库STM32微控制器的软件库,在软件开发方面提供了便利,简化了开发人员的工作。 STM32CubeMX是一个集成开发环境(IDE),可用于创建STM32项目。它允许开发人员使用图形界面创建STM32代码,并可选择所需的外设并初始化代码。STM32CubeMX可以帮助您快速掌握STM32系列微控制器的各种特性,并帮助您生成初始化代码,这样您就可以在不浪费任何时间的情况下开始编程了。 本教程将介绍如何使用STM32CubeMXHAL库,在STM32微控制器上构建基本的程序。本教程包括以下内容: 1. STM32CubeMX的介绍和安装; 2. 创建STM32项目; 3. 添加外设和初始化代码; 4. 编写应用程序; 5. 调试代码。 首先,我们需要安装STM32CubeMX。您可以在ST的官方网站上下载它。安装后,您可以启动STM32CubeMX并创建新的STM32项目。创建新项目后,您应该选择您所使用的MCU型号并开始配置: 建议您使用图形界面设置芯片的外设。该界面非常友好,您可以轻松地选择所需外设,创建初始化代码。接下来,您可以为您的项目添加所需的外设模块。一旦您添加了特定的模块,您就可以配置这些外设的参数。例如,您可以配置GPIO模块的I/O设置或串口模块的波特率。您还可以定义中断和时钟设置来精确定义您的系统。 一旦完成了外设选择和配置,STM32CubeMX会自动生成您需要的初始化代码并集成到您的主要工程文件中。您可以开始编写您的应用程序,例如传感器读取、控制舵机、以及各种反应器等。您也可以使用STM32CubeMX的代码生成器快速找到并编辑适合您的应用程序的代码。 最后,您可以使用STM32CubeIDE作为IDE环境,帮助您调试代码,分析程序性能和查找错误。STM32CubeIDE具有强大的开发功能,包括源代码编辑器、代码自动完成、调试器和性能分析器等。 综上所述,STM32CubeMXHAL库STM32微控制器的强大工具,可以极大地简化开发人员的工作。使用这些工具,您可以快速创建适用于您的应用程序的代码,并快速调试和分析代码。这提高了开发效率,缩短了产品的上市时间,从而使您的产品更具竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值