我在STM32微控制器中应该从哪里获取头文件?

4
我有一个this STM32F3 Discovery板,正在尝试将简单的闪烁程序刷入其中。我找到的所有示例都有几个stm32*.h头文件,例如F4 Discovery板教程中的这个头文件:
#include "stm32f4xx.h"
#include "fm_stm32f4_led.h"
#include "fm_stm32f4_delay.h"

我应该在哪里以及如何获取我的板子(STM32F3)的头文件?我在数据手册或文档中找不到任何指示它们在哪里获取的信息。此外,有没有好的资源提供例子和学习材料?


这些都应该是您的SDK的一部分。CubeMX程序用于为您的芯片安装正确的SDK。 - Lee Daniel Crocker
仅有头文件是不够的,通常你需要整个库。 - Lundin
2个回答

2
首先,您有一块STM32F3探索板,这意味着stm32f4xx.h头文件是错误的。您需要使用stm32f3xx.h。此外,针对F4微控制器的教程需要进行解释才能对F3有用。 F4的某些功能在F3上不存在。
您可以使用ST帐户从ST.com下载STM32F3的标头/库。您提供的链接中包含一个名为嵌入式软件的部分,其中包含一个文本为STM32CubeF3的链接。按照重定向,您将有机会通过单击“获取软件”来下载库。
这包含了几个板的完整项目结构。
您还可以下载STM32CubeMX。它是一个图形化工具,允许非常轻松地配置STM32微控制器和微处理器,并生成与Arm® Cortex®-M内核或部分Linux® Device Tree for Arm® Cortex®-A内核对应的初始化C代码,通过逐步过程。 它允许您生成新项目,并使您轻松包含所需(或所有)库文件。 fm_stm32f4_led.hfm_stm32f4_delay.h 是由RoanFourie创建的头文件,旨在针对F4板。我想它们对您来说没有那么有用。
我可以推荐我的前教授制作的这个教程。它是针对F0微控制器和Keil开发工具的,但基本规则仍然适用。不过,你还需要自己找出端口和引脚。

谢谢,我在帖子中提到那些头文件是针对F4的,而我有一个F3,并且我正在寻找F3的头文件。那个教程看起来非常有帮助,我期待着去学习它!另外,为什么需要GUI工具来下载头文件和支持文件,而不是简单的Apache Web服务器呢?再次感谢您的帮助! - Kyle
嗨,Kyle,你也可以只下载HAL软件包。在ST网站上查找STM32CubeF3下载。 - veeman
请阅读第二段,其中说明了从哪里下载原始标头文件。包括示例项目和它们使用的结构。F3的fm_*标头文件可能不存在。 - Tarick Welling
Cubemx是一个方便的工具,用于进行外设配置和分配。此外,它还可以创建具有所选库可用性的项目。 - Tarick Welling

1
就像Lee Daniel Crocker所提到的,所有HAL库都随STM32Cube初始化代码生成器一起提供。您可以在此处下载:

https://www.st.com/en/development-tools/stm32cubemx.html

此外,您可以简单地下载仅HAL库源代码:STM32CubeF3, STM32CubeF4 此外,头文件fm_stm32f4_ledfm_stm32f4_delay是您教程中的一些自定义实现。相关代码可能是这样的:https://github.com/RoanFourie/STM32F4-DISCO-EMBITZ-Blinky/tree/master/STM32F407Disco/LED 因此,该示例没有F3头文件/源文件。无论如何,它应该很容易重用或移植到F3。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接