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

转载自:http://blog.csdn.net/charmingsun/article/details/50802267?readlog#t1

本教程以点亮一盏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(绿灯)亮了



猜你喜欢

转载自blog.csdn.net/heda3/article/details/78364884