没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32Cube 官方例程学习指南
STM32Cube 官方例程学习指南

STM32CubeMX 是 ST 官方提供的一个代码生成工具。使用该工具,通过图形化的配置方法,就能快速生成 STM32 的各种片上外设的初始化代码。
资源详情
资源评论
资源推荐

1 / 34
STM32Cube 官方例程学习指南
STM32CubeMX 是 ST 官方提供的一个代码生成工具。使用该工具,通过图形化的配置方法,就能
快速生成 STM32 的各种片上外设的初始化代码。CubeMX 生成的软件工程使用 HAL 库,HAL 库是 ST
以后主推的外设驱动库。另外 CubeMX 还提供了 FATFS、FreeRTOS、LWIP、USB 库等中间件的支持,配
置之后生成软件工程,工程文件就包含了相应代码。
本文档以 STM32F4 系列为例,简要地分析官方提供的 Cube 例程。希望能够帮助 CubeMX 初学者
快速掌握 STM32 的常用外设使用方法。文档不求全面,只讲常用的外设,对不常用的只进行概况性地
描述。同时,文档只对例程进行直接分析,不对其他文件进行详述。
第一部分 准备工作
首先是下载 STM32CubeF4 支持包,可以到与非网 ST 社区搜索 STM32CubeF4,然后下载
当前版本已经更新到 V1.13.0。点击附件中的 STM32CubeF4,转到下载链接地址。附件大小 300M 左右。
本人当前使用的是 V1.9.0 版本的,例程相差不大,后面就用 V1.9.0 版本的例程进行分析。
下载后解压,得到如下图的文件,其中例程放在 Projects 文件夹中:

2 / 34
打开 Projects 文件夹,可以看到前 12 个文件夹分别官方提供的 12 款评估板,后面我们仅以
STM324xG_EVAL 评估板的例程为讲解内容。
STM324xG_EVAL 文件夹中,Examples 文件夹存放的就是片上外设的使用例程。
(Applications 文件夹是 STM324xG_EVAL 相关的一些高级应用例程,如 FreeRTOS、FatFs、LwIP、USB 等,
有一定基础之后可以学习这里面的内容。本文不作分析。)
Examples 文件夹提供了 27 个外设对应文件夹,每个文件夹包含若干个例程,后面将对常用的外设例
程(不是全部)进行简要分析。

3 / 34
第二部分 例程分析
下面将挑选常用外设的例程进行分析,顺序是从简单的到复杂的。
第一章:GPIO
GPIO 共有两个例程:外部中断和 IO 翻转。
1. GPIO_IOToggle
打开…\GPIO_IOToggle\MDK-ARM 文件夹下的 MDK 工程,打开 main.c 文件。
如 main.c 文件开头的描述,本例程描述如何配置 GPIO 和通过 HAL API 函数使用 GPIO。
看 main 函数:

4 / 34
分析:从注释可以看出,GPIO 的控制只需要 3 个步骤,使能 GPIO 时钟、配置 GPIO 模式、控制
GPIO 状态。前两个步骤的代码不需要用户手动输入,完全有 STM32CubeMX 生成,用户只需要在 CubeMX
中用图形化界面进行配置。(详细操作步骤可参考本人编写的 STM32Cube 学习笔记,或者其他
STM32Cube 入门教程。)步骤 3 的重点在 HAL_GPIO_TogglePin()函数,在控制 GPIO 反转的。其他控制
GPIO 输出状态的函数还有 HAL_GPIO_WritePin()。
2. GPIO_EXTI
该例程演示如何使用 GPIO 的外部中断功能。
打开…\GPIO_EXTI\MDK-ARM 文件夹下的 MDK 工程,打开 main.c 文件。先看 main 函数:
main 函数只有个语句,分 3 个部分。第一部分是系统时钟配置。第二部分是板级支持配置,本例
中是初始化两个 LED 控制口。第三部分是配置外部中断。这三个部分的代码功能都可以通过 CubeMX
配置生成,不需要用户输入。
最后,要在回调函数中实现中断响应的功能代码。
HAL_GPIO_EXTI_Callback()函数是 HAL 库的外部中断回调函数,所有的外部中断都是使用该函数。
然后在处理时,判断是哪个引脚号对应的中断。
第二章:UART
UART 共有三个例程。

5 / 34
1. UART_Printf
打开…\UART_Printf\MDK-ARM 文件夹下的 MDK 工程,打开 main.c 文件。
如 main.c 文件开头描述,本例演示了如何将 printf()函数的输出功能映射到串口上。
看 main 函数:
main 函数分为 3 部分。第一部分是系统初时钟配置。第二部分是初始化 UART。第三部分是使用
printf()函数输出一个语句。在 126~133 行,就是实现过程。
剩余33页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1