-
1 知识介绍
-
2 PPT
-
3 学习视频
-
4 拓展内容
-
5 国家脊梁
任务要求
搭建基于STM32CubeMX工具和HAL库的STM32微控制器的开发环境,生成可在MDK-ARM集成开发环境下运行的工程。
正确地配置、编译工程后,将其下载至开发板中运行。
知识链接
STM32 的软件开发库
在学习 STM32 的软件开发模式之前,有必要先了解 STM32 的软件开发库。ST 公司为开发者提供了多个软件开发库,如:标准外设库、HAL 库与 LL 库。另外,ST 公司还针对 F0 与 L0系列 MCU 推出了 STM32 Snippets 示例代码集合。
1. STM32Snippets库
2. STM32标准外设库(Standard Peripherals Library)
3. 软件开发工具产品——STM32CubeTM
4. STM32的软件开发库—HAL库
5. STM32的软件开发库—LL库
STM32的集成开发环境
根据ST公司官网显示,支持STM32开发的IDEs(Integrated Development Environments,集成开发环境)有20余种,其中包括商业版软件和纯免费的软件。
商业版IDE:MDK-ARM与IAR-EWARM。
免费的IDE:SW4STM32、TrueSTUDIO等。
在后续的任务实施讲解中,将采用“STM32CubeMX + MDK-ARM”的开发工具组合。具体的应用开发流程如下所示:
① 根据任务要求,利用STM32CubeMX进行功能配置;
② 生成基于MDK-ARM集成开发环境的初始代码;
③ 添加功能逻辑完成应用开发。
任务实施
(一)、MDK-ARM的安装——下载安装包并安装
1.从Keil官网(www.keil.com)下载MDK-ARM的安装包,如:“MDK528A.EXE”。安装包下载完毕后,双击运行进入安装界面,根据向导提示点击“Next”按钮,安装目录保持默认即可(如

2.安装成功后,系统将进入软件包安装欢迎界面(如

3.MDK-ARM的安装——下载安装包并安装
方法一:从Keil官网(www.keil.com)下载MDK-ARM的安装包,如:“MDK528A.EXE”。安装包下载完毕后,双击运行进入安装界面,根据向导提示点击“Next”按钮,安装成功后,系统将进入软件包安装欢迎界面。点击上图中的“OK”按钮之后,将会进入软件包的安装主界面。
方法二:找到随书配套资源包中的MKD支持包(

(二)STM32CubeMX的安装——下载安装包并安装
STM32CubeMX软件的运行依赖Java Run Time Environment(简称JRE),因此建议在安装前到Java的官网(https://www.java.com)下载JRE。读者根据自己操作系统选择32位或64位版本进行下载安装。
STM32CubeMX软件可访问其主页(https://www.st.com/stm32cube)获取,其安装过程也比较简单,根据安装向导操作即可(如

(三)ST-Link驱动程序的安装
MDK-ARM的安装目录中包含了ST-Link下载调试工具的驱动程序,其位于

(四)建立工程
1.建立工程存放的文件夹,在D盘根目录新建文件夹“STM32_WorkSpace”用于保存所有的任务工程,然后在该文件夹下新建文件夹“task1_ProjectFirst”用于保存本任务工程。
2.打开STM32CubeMX工具,点击“ACCESS TO MCU SELECTOR(选择MCU)”按钮,如

3.进入“MCU选择”窗口(

4.配置GPIO功能,假设开发板的“PE6”引脚与LED灯——“LED2”相连。在STM32CubeMX工具的配置主界面,用鼠标左键点击MCU的“PE6”引脚处,选择功能“GPIO_Output”,如

鼠标右键点击“PE6”引脚,选择“Enter User Label”选项,输入值“LED2”,将“PE6”引脚的“用户标签”值配置为“LED2”,点击“GPIO”,选中“PE6”,确保PE6引脚的配置如

5.配置调试端口(

6.配置MCU时钟树(

完毕后,MCU的“Pinout View(引脚视图)”中相应的引脚功能将被配置,如
切换到“Clock Configuration(时钟配置)”标签,进行STM32微控制器的时钟树配置,如

标号①:“PLL Source MUX(锁相环时钟源选择器)”的时钟源选择为“HSE”,即:8MHz外部晶体谐振器标号
标号②:“PLLMul(锁相环倍频)”配置为“9”;
标号③:“System Clock MUX(系统时钟选择器)”的时钟源选择为“PLL”;
标号④:配置“SYSCLK(系统时钟)”为72MHz;
标号⑤:配置“HCLK(高性能总线时钟)”为72MHz;
标号⑥:配置“Cortex System timer(Cortex内核系统嘀嗒定时器)”的时钟源为HCLK的八分之一,即:9MHz;
标号⑦:配置“APB1 Peripheral clocks(低速外设总线时钟)”为HCLK的二分频,即:36MHz;
标号⑧:配置“APB2 Peripheral clocks(高速外设总线时钟)”为HCLK的一分频,即:72MHz。
完成上述过程后,记得保存STM32CubeMX工程:点击“File(文件)”菜单,选择“Save Project(保存工程)”选项。然后定位到工作空间工程文件夹“D:\STM32_WorkSpace\task1_ProjectFirst”,点击“确定”保存STM32CubeMX工程。
7.生成C代码初始工程(

点击

点击上图中的“Toolchain/IDE”下拉菜单(上图中标号③处),选择集成开发环境为“MDK-ARM V5”。最后点击“GENERATE CODE(生成代码)”按钮(上图标号④处),生成相应的C代码工程。
8.完善main()函数(

点击快捷工具栏中的图标进行C代码工程的配置(如

将调试工具端口改为“SW”,如

点击“Flash Download”标签切换到“下载配置”界面(
M3主控模块上的开关拨为NC位置(方向朝下),如

工程编写完毕后,点击工具栏中的“Build(F7)”按钮进行工程的编译。编译无误后,点击工具栏中的“DownLoad(F8)”按钮进行工程的下载并运行。如

本工程运行的现象是LED2闪烁,亮1秒灭1秒,周期为2秒。







