STM32CubeIDE 创建 / 导入 .c / .h 文件

这篇具有很好参考价值的文章主要介绍了STM32CubeIDE 创建 / 导入 .c / .h 文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

CubeMX创建工程

项目管理

将CubeMX创建的工程导入到CubeIDE

创建用于演示的ADD.c文件和ADD.h文件

方式一:在IDE的项目浏览器内创建

方式二:在文件窗口处创建 / 从其他地方复制粘贴过来

将ADD.h添加到头文件搜索路径

将ADD.c添加到源文件搜索路径

在ADD.c文件内定义一个加法函数,在ADD.h文件声明这个函数,在main.c调用这个函数,构建项目,如果构建没有问题,就说明我们成功了

相对路径、绝对路径的优缺点


我们将会按照以下步骤进行操作

  • 在CubeMX创建一个最简单的工程
  • 将CubeMX创建的工程导入到CubeIDE
  • 创建用于演示的ADD.c文件和ADD.h文件
  • 将ADD.h添加到头文件搜索路径
  • 将ADD.c添加到源文件搜索路径
  • 在ADD.c文件内定义一个加法函数,在ADD.h文件声明这个函数,在main.c调用这个函数,构建项目,如果构建没有问题,就说明我们成功了

CubeMX创建工程

打开CubeMX,点击Help -> Updater Settings,弹出一个页面,页面中有一个内容,Firmware Repository(固件储藏室),就是用于管理固件包的下载路径的。需要注意,路径不可以带有汉字和空格。

点击Help -> Manage embedded software packages,弹出一个页面,在这里可以管理固件包以及下载固件包。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

弄好上面的设置之后,点击主界面上的ACCESS TO MCU SELECTOR。

在1处输入你的芯片型号,在2处选择具体的型号,选好后,点击3处,开始创建工程。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

然后就是下面的界面了。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

由于我们这个项目只是用于演示,如何使用CubeMX并不是我们的重点,所以我使用CubeMX配置MCU会比较简单

按照下图进行操作,激活HSE的外部晶振设置

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

按照下图进行操作,配置好时钟树,注意输入正确的外部晶振频率

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

按照下图进行操作,激活调试接口,将其设置为SWD调试

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

此时芯片已经可以运行了,但是为了让这个工程不那么“虚”,就设置两个GPIO吧。

在引脚视图上,将PF9和PF10的引脚功能设置为GPIO_Output

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

按照下图进行操作,设置一下GPIO的输出电平以及用户标签。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

现在就配置好芯片了。

项目管理

下一步进行生成项目管理。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

我的项目框架的生成路径是单独的一个文件夹,你也可以将路径设置为CubeIDE的Workspace,只是我习惯这样。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

这样,我们就成功使用CubeMX创建了一个项目框架了。


将CubeMX创建的工程导入到CubeIDE

说明:在下面,项目 == 工程

这个时候我们已经有一个工程了。将工程复制一份到CubeIDE的工作空间(Workspace)。

将工程导入到IDE:

  • 方法一:打开CubeIDE,点击CubeIDE左上角的File -> Open projects from file system,点击Direction,选中工作空间下想要导入的工程文件夹,最后点击 Finish。
  • 方法二:在工作空间文件夹内,打开项目文件夹,打开.project文件,或者打开.cproject文件。

导入成功后,构建一下,没有问题。

下图中,左边是IDE里面项目浏览器看到的工程目录,右边是工作空间下工程文件内的工程目录。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

我的工作空间路径:E:\STM32Cube\STM32CubeIDE_Workspace

我的工程路径:        E:\STM32Cube\STM32CubeIDE_Workspace\test20231005


创建用于演示的ADD.c文件和ADD.h文件

接下来,我将会在工程内创建一个ADD文件夹,并在这个文件夹内创建ADD.c文件和ADD.h文件

创建文件夹和文件有两种方式:

方式一:在IDE的项目浏览器内创建

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

 在IDE的项目浏览器处,选中工程,右键,点击 “NEW” ,就可以看到上面的东西了。

点击 “File” 或者 “File from Template” 或者 “Folder” ,会弹出如下图所示的界面,可以设置文件夹、文件创建的位置以及名称。

“File” 和 “File from Template” 本质上是一样的,只是后者有个模板。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

创建完成后,就可以在项目浏览器处看到文件夹,以及文件夹下的文件了。

使用头文件模板创建出来的.h文件,如图。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机


方式二:在文件窗口处创建 / 从其他地方复制粘贴过来

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

在工作空间下,工程文件内,在文件窗口处创建一个文件夹,命名为ADD。打开ADD,在这个文件夹内创建ADD.c和ADD.h这两个文件。在新建那里是找不到 .c 和 .h 的,可以创建文本文档文件(.txt文件),然后修改其文件后缀名。

如果看不到文件后缀名,可以点击文件夹上方的“查看”,然后勾选“文件扩展名”,这样就可以看到文件的后缀名了。

在文件窗口处创建文件夹和文件,或者你的文件夹和文件是从别处复制粘贴过来的,那么,IDE的项目浏览器并不会马上显示刚刚创建的文件夹和文件。这个时候需要在IDE的项目浏览器处右键,点击“Reflash”刷新,或者构建项目,就可以在项目浏览器处看到刚刚创建的文件夹和文件了。

现在我们在IDE的项目浏览器处可以看到我们创建的文件夹和文件,但是工程还没有包含他们的搜索路径。

如果我们现在在main.c里include了ADD.h,然后构建/编译,是会出错的,提示找不到文件。如下图所示。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机


将ADD.h添加到头文件搜索路径

 点击Project -> Properties(属性)

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

点击C/C++ General->Paths and Sybols

出现如图界面,中间部分的内容为已经包含的头文件路径。

目前来说,这些路径都是相对路径,基地址是工程路径

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

点击Add,出现如图界面。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

想要把ADD文件夹添加进头文件搜索路径,有三种方式。

  • 方式一:在输入框A内输入ADD,点击OK。这种方式添加的是相对于工程路径的相对路径。
  • 方式二:点击Workspace,找到ADD,点击OK。这种方式添加的是相对于工作空间路径的相对路径。用这种方式时,Is a workspace path 这个选项需要被勾选上,如果没有勾选上,就是相对于工程路径的相对路径,构建/编译会出错。
  • 方式三:点击File system,找到ADD,点击OK。这种方式添加的是绝对路径

文章的末尾有相对路径、绝对路径的优缺点(来自GPT)

我这里添加的是相对于工作空间路径的相对路径

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

图中所示的是相对于工作空间路径的相对路径。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

如果添加错了,可以选中想要删除的路径,点击Delete来把路径删除掉

记得点击Apply保存。


将ADD.c添加到源文件搜索路径

点击Source Location -> Add Folder,选中ADD文件夹内,OK,Apply即可。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

记得点击Apply保存。

Add Folder 与 Link Folder 的区别:

Add Folder:add(添加)工程内部的文件夹

Link Folder:link(引用)工程外部的文件夹

添加成功后:

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机


在ADD.c文件内定义一个加法函数,在ADD.h文件声明这个函数,在main.c调用这个函数,构建项目,如果构建没有问题,就说明我们成功了

ADD.c

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

ADD.h

不知道为什么,如果不包含<stdint.h>,就会报错,错误提示如下

unknown type name 'uint32_t'

包含<stdint.h>就没事了,以前我不包含也不会报错的(有朋友知道为什么的话,欢迎在评论区告诉我,非常感谢)

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

main.c

头文件的包含

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

函数的调用

有一个警告,警告提示是我们定义的Result没有被使用。无关紧要。

stm32如何添加.c.h文件,stm32,嵌入式硬件,单片机

现在,我们已经成功包含了.c/.h的搜索路径并验证。

如果还有什么疑问,欢迎评论区留言。


相对路径、绝对路径的优缺点

(来自GPT)

相对路径的优点:

1.简洁性:相对路径是相对于当前工作目录或者源文件所在目录进行解析,可以使用相对较短的路径来指定头文件的位置。

2.可移植性:相对路径相对于当前环境的目录结构,当项目移植到其他位置或其他机器时,相对路径可能更容易适应新的工作环境。

相对路径的缺点:

1.可靠性:相对路径可能依赖于文件结构和工作目录的变化,如果文件结构发生改变,那么相对路径可能无法正确找到头文件,导致编译错误。

2.可读性:相对路径可能不够明确,他人难以迅速理解头文件的具体位置。

绝对路径的优点:

1.精确性:绝对路径表明了头文件的确切位置,不受工作目录和文件结构的影响。无论当前工作目录在何处,都能准确找到头文件。

2.可读性:绝对路径提供了清晰明确的信息,他人易于理解和追踪头文件的位置。

绝对路径的缺点:

1.不够灵活:绝对路径是固定的路径,如果项目需要移植到其他位置或其他机器上,就需要手动更改绝对路径设置。

2.冗长性:绝对路径通常比较长,使用起来可能不太方便,尤其是在大型项目中含有多个嵌套文件夹的情况下。

在项目开发过程中,相对路径通常是更常见和推荐的选择,因为它具有简洁性和可移植性,可以更好地适应不同环境和项目结构的变化。

但在某些情况下,使用绝对路径可能更合适,特别是当项目的文件结构较为固定,或者需要确保代码在不同环境中都能准确找到头文件时。

无论使用哪种路径,都要确保代码的可读性和可维护性,并避免出现头文件路径错误导致的编译问题。文章来源地址https://www.toymoban.com/news/detail-722915.html


到了这里,关于STM32CubeIDE 创建 / 导入 .c / .h 文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【嵌入式AI部署神经网络】STM32CubeIDE上部署神经网络之指纹识别(Pytorch)——篇一|环境搭建与模型初步部署篇

    前言: 本篇主要讲解搭建所需环境,以及基于pytorch框架在stm32cubeide上部署神经网络,部署神经网络到STM32单片机,本篇实现初步部署模型,没有加入训练集与验证集,将在第二篇加入。篇二详细讲解STM32CubeIDE上部署神经网络之指纹识别(Pytorch)的数据准备和模型训练过程等

    2024年04月25日
    浏览(55)
  • STM32 CubeIDE 使用 CMSIS-DAP烧录 (方法1--修改配置文件)

            STM32CubeIDE目前只支持ST-Link、J-Link.         到目前2023年12月,还没更新到直接支持CMSIS DAP. 我们需要稍作修改才能让它支持CMSIS-DAP。         本篇方法:修改配置文件。修改后,可以在CubeIDE中使用CMSIS DAP烧录,无需借助其它工具。         倘若尝试修改不成

    2024年01月17日
    浏览(48)
  • STM32开发环境搭建&工程创建(嵌入式学习)

    简介 STM32CubeMX是STMicroelectronics公司提供的一款集成开发环境(IDE)工具,用于快速配置和初始化STM32微控制器系列的软件工程。它提供了图形化界面和交互式工具,使开发者能够轻松地生成STM32微控制器的初始化代码和配置文件。 STM32CubeMX具有以下主要功能和特点: 微控制器

    2024年02月11日
    浏览(74)
  • 【STM32CubeIDE】STM32CubeIDE_快速入门

    本文主要通过新建LED控制工程来简要介绍STM32CubeIDE的简单使用方法 双击桌面快捷方式或者通过Start目录打开软件 在弹出的界面中选择Workspace地址 本人理解此workspace是软件的工作空间,存放软件配置的一些文件 点击新建工程图标或者在菜单栏中选择新建工程 弹出加载界面等待

    2023年04月23日
    浏览(55)
  • STM32CubeIDE使用示例(STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6)

    本文简单记录下STM32CubeIDE的使用方法,整体的环境是STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6,实现的简单测试功能是让STM32G030C8T6板子上的LED闪烁,以STM32G030C8T6 PB4 脚做LED 输出闪烁为例,外部8MHZ 晶振,系统主频64MHZ,LED 灯1 秒钟闪烁一次做一个示例程序; 1、我这边已经装好了ST

    2024年02月15日
    浏览(47)
  • 【STM32】keil5手动添加 Pack 包(在线导入方式,不建议使用)

    目录 1、keil5手动添加Pack (1)打开keil5    (2)导航到Pack Installer (3)点击“Import”按钮 2、验证是否安装成功 不建议使用 包下载地址:Arm Keil | CMSIS Packs (1)打开keil5 (2)导航到Pack Installer (3)点击“Import”按钮 下载的Device Family Pack文件(通常是.pack文件)并导入到Keil中。

    2024年04月09日
    浏览(98)
  • 【STM32Cube开发记录】1-下载和安装STM32CubeIDE

    【STM32Cube开发记录】1-下载和安装STM32CubeIDE 【STM32Cube开发记录】2-STM32CubeProgrammer的使用 【STM32Cube开发记录】3-STM32CubeMX的使用 【STM32Cube开发记录】4-标准库 HAL库 LL库 【STM32Cube开发记录】5-寄存器和存储器映射 【STM32Cube开发记录】6-STM32核心功能 【STM32Cube开发记录】7-Debug调试功

    2024年01月17日
    浏览(44)
  • STM32CubeIDE开发(四), stm32调试信息串口通信输出显示

    目录 一、stm32串口配置 三、串口驱动功能调用及编译实现 四、编译测试         关于cubeIDE开发基本技巧及流程,本文不详细叙述,请参考:cubeIDE快速开发流程_py_free的博客-CSDN博客_cubeide汉化 一、stm32串口配置         本文采用的开发板是stm32L496VGT3,其有两个 USB 接口,

    2023年04月08日
    浏览(53)
  • 【STM32学习笔记】(5)—— STM32工程添加源文件和头文件

    STM32的工程文件构成较为复杂,同时为STM32工程文件添加源文件和头文件也是较为复杂的,下面就由此文章来介绍怎么给STM32工程添加源文件(.c)与头文件(.h),以跑马灯实验为例。 1、在Template工程文件夹下面新建一个 HARDWARE 的文件夹,用来存储以后与硬件相关的代码,然

    2024年02月16日
    浏览(47)
  • STM32CubeIDE开发(二十六), STM32的CAN总线开发要点

    目录 一、CAN总线简介         1.1 CAN概述         1.2 CAN总线较其他串行通信优势         1.3 CAN总线通信          1.4 报文种类及格式          1.5 CAN应用 二、CAN工程创建及配置         2.1 工程设计及原理框图          2.2 工程创建接配置 三、代码设计

    2023年04月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包