STM32CubeIDE基础学习-STM32CubeIDE软件新增工程文件夹

news2024/11/27 2:35:35

STM32CubeIDE基础学习-STM32CubeIDE软件新增工程文件夹


文章目录

  • STM32CubeIDE基础学习-STM32CubeIDE软件新增工程文件夹
  • 前言
  • 第1章 添加文件夹
  • 第2章 添加文件路径
    • 2.1 相对路径方法
    • 2.2 绝对路径方法
  • 总结


前言

在编程的过程中,如果需要在原有的工程基础上新增其它的外设功能模块代码,比如OLED、LCD、SD卡等,那么就可以独立新建它们的独立文件夹来存放了。

HAL库的工程一般都是会习惯创建一个板级支持包文件夹来存放相关应用的文件,方便管理里面的代码文件。

下面就来看下文件夹的具体创建步骤过程:


第1章 添加文件夹

第一步:新建文件夹的步骤如下图所示:

在这里插入图片描述

按照标号的顺序来操作即可,要注意鼠标选中要新建的路径才行。

点击新建后就可以看到下面图片的操作界面了。

在这里插入图片描述

设置完之后就可以点击Finish了。

创建后的文件夹如下图所示:

在这里插入图片描述

第二步:现在虽然有了一个总文件夹,那么还需要在BSP文件夹里面再创建对应的应用文件夹和对应的.c/.h文件,创建后如下图所示:

在这里插入图片描述

在这里插入图片描述

按照上面的步骤新建添加完.c/.h文件后,最终文件效果如下图所示:

在这里插入图片描述

第三步:之后就可以把需要用到的.h头文件都包含进.c文件来,把和OLED相关的函数都定义在这个相关文件里面就可以了,方便管理代码。后面需要用到这个文件里面的内容时,直接引入这个文件的.h文件就可以了。

第2章 添加文件路径

在新建完文件后,如果需要使用这些文件里面的内容,则需要考虑一下这个文件的路径问题,如果文件路径添加不正确,则会无法正常打开该头文件的。

引入头文件的方法有多种,可以使用相对路径或绝对路径的方法进行添加。方法如下:

2.1 相对路径方法

鼠标右键点击工程名,选择Properties,进去设置,如下图所示:

在这里插入图片描述

在这里插入图片描述

进来之后按照标号顺序找到Include文件选项,点击Add进行添加即可。如果不明白添加格式,可以参考上面的写法,也可以看下面图片的层次关系:

在这里插入图片描述

添加完成后如下图所示:

在这里插入图片描述

最终在main文件里面添加该文件路径的样子如下图所示:

在这里插入图片描述

如果没有添加路径或路径错误,则会有提示错误如下图所示:

在这里插入图片描述

那么就需要检查添加正确的路径才行了。

2.2 绝对路径方法

使用绝对路径的方式可以直接在代码里面包含设置的路径,不需要再像相对路径那样每一个文件都需要设置一次比较麻烦,而绝对路径是在需要用到时直接拷贝粘贴改一下文件名字就可以了。

直接在代码添加方法如下图所示:

在这里插入图片描述

这样就不用担心路径设置不对的问题了,如果路径设置不对,编译时是会报错的,不信的话可以删除某个字符或者某点再编译验证下,绝对会报错的。

如果对这个绝对路径和相对路径不熟悉的朋友,可以到网上查找下相关资料了解,有比较详细的描述。


总结

这个新建文件夹的步骤不是特别复杂的,多操作几次就可以了,主要就是要注意文件路径的问题,其它基本没有什么的了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1511466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java从入门到精通】Java数组

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。 Java 语言中提供的数组是用来存储固定大小的同类型元素。 你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0&#xff0…

数据结构和算法:复杂度分析

算法效率评估 时间效率:算法运行速度的快慢。 空间效率:算法占用内存空间的大小。 效率评估方法主要分为两种:实际测试、理论估算 实际测试问题: 1.难以排除测试环境的干扰因素。 硬件配置会影响算法的性能。需要在各种机器上进…

第五十六回 徐宁教使钩镰枪 宋江大破连环马-飞桨图像分类套件PaddleClas初探

宋江等人学会了钩镰枪,大胜呼延灼。呼延灼损失了很多人马,不敢回京,一个人去青州找慕容知府。一天在路上住店,马被桃花山的人偷走了,于是到了青州,带领官兵去打莲花山。 莲花山的周通打不过呼延灼&#xf…

vivado 使用Design Runs窗口、

使用Design Runs窗口 “设计运行”窗口显示在项目中创建的所有合成和实现运行。它包括用于配置、管理和启动运行的命令。 打开Design Run窗口 选择窗口 →  Design Runs打开“Design Runs”窗口。 设计运行窗口功能 •每个实现运行都缩进显示在其子级的合成运行下面。 …

[Java、Android面试]_01_多线程: 重要参数、状态、优雅停止线程等

本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料,感兴趣的朋友可收藏关注, 现分享如下: 文章目录 1. 线程池重要参数2. 线程池状态3. 优雅停止线程4. 线…

【Qt学习笔记】(二)--第一个程序“Hello World”(学习Qt中程序的运行、发布、编译过程)

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。    因为我个人对Qt也是有一些需求,所以开设本专栏进行学习,希望大家可以一起学习,共同进步。   这篇博客将从一个 He…

HTML 学习笔记(十一)表单

一、分块 1.单行文本框控件–文本框和密码框 文本框控件通过单标签input实现,其具有必要属性type来控制输入控件的类型(默认为text即文本信息),密码框的type为password(口令)。   表单的动作属性定义了目的文件的文件名。由动作属性定义的这个文件通常…

Qt QDateTime类使用

一.Qt datetime 介绍 Qt中的QDateTime类是用于处理日期和时间的组合的类,它提供了丰富的功能来操作和格式化日期时间数据。以下是其主要特点和用法: 构造函数:QDateTime可以通过组合QDate(日期)和QTime(时…

C++感受2-逐字逐句,深入理解C++最小例程

以 “Hello World” 例程为载体、线索,在完成 “间接名字空间限定” 写法转换到“直接名字空间限定”的过程,同时掌握函数、主函数、函数调用、级联操作、声明、类型、int、字符串类型、头文件包含、行为数据、流输出操作符、标准输出流对象、标准库名字…

LeetCode.2129. 将标题首字母大写

&#x1f354;题目 2129. 将标题首字母大写 &#x1f35f;分析 这道题目描述的很清晰&#xff0c;我们只需要将给定的字符串按照空格划分成字符串数组 str&#xff0c;然后判断 str[i] 的长度如果 <2 &#xff0c;则将 str[i] 转为小写&#xff0c;如果 str[i] 的长度 &g…

Python批量提取Word文档表格数据

在大数据处理与信息抽取领域中&#xff0c;Word文档是各类机构和个人普遍采用的一种信息存储格式&#xff0c;其中包含了大量的结构化和半结构化数据&#xff0c;如各类报告、调查问卷结果、项目计划等。这些文档中的表格往往承载了关键的数据信息&#xff0c;如统计数据、项目…

CSS 用 flex 布局绘制骰子

<!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>.box {height: 100px;width: 100px;border: 2px solid grey;border-radius: 10px;display: flex;justify-content: center; // 水平居中/* alig…

new-easy(pwn)

1.进行查壳 栈保护&#xff0c;三个保护都开了 NX保护 NX保护在Windows中也被成为称为DEP&#xff0c;是通过现代操作系统的内存单元&#xff08;Memory Protect Unit &#xff0c;MPU&#xff09;机制对程序内存页的粒度进行权限设置&#xff0c;其基本规则为可写权限与可执…

简述类与对象

一、两者关系 类是Java语言中最重要的数据类型&#xff0c;用于创建具体实例&#xff08;对象&#xff09; 抽象出一类事物共有的属性和行为&#xff0c;即数据以及数据上的操作 类是对现实事物的模拟&#xff0c;包含属性&#xff08;成员变量&#xff09;和行为&#xff0…

python读取大型csv文件,降低内存占用,提高程序处理速度

文章目录 简介读取前多少行读取属性列逐块读取整个文件总结参考资料 简介 遇到大型的csv文件时&#xff0c;pandas会把该文件全部加载进内存&#xff0c;从而导致程序运行速度变慢。 本文提供了批量读取csv文件、读取属性列的方法&#xff0c;减轻内存占用情况。 import pand…

2024.3.12 C++

1.思维导图 2.自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height),定义公有成员函数: 初始化函数:void init(int w, int h)更改宽度的函数:set_w(int w)更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <iostream…

python(ogr)处理geojson为本地shp文件

前言 本次所利用的geojson数据来自https://geo.datav.aliyun.com/areas_v3/bound/410000_full.json &#xff0c;如果觉得下方代码看起来不方便&#xff0c;可以来GitHub上来看&#xff0c;在这上面还有一些辅助内容便于理解 GISpjd/GIS-union-Python (github.com)https://gi…

【2024.03.12】定时执行专家 V7.2 发布 - TimingExecutor V7.2 Release

目录 ▉ 软件介绍 ▉ 新版本 V7.2 下载地址 ▉ V7.2 新功能 ▼2024-03-12 V7.2 - 更新日志 ▉ V7.x 新UI设计 ▉ 软件介绍 《定时执行专家》是一款制作精良、功能强大、毫秒精度、专业级的定时任务执行软件。软件具有 25 种【任务类型】、12 种【触发器】触发方式&#x…

Linux内核介绍and下载

Linux内核介绍and下载 介绍下载下载历史版本 我是将军我一直都在&#xff0c;。&#xff01; 介绍 ● Linux是c语言写成的 ● 符合POSIX标准 ● 作者是芬兰的Linus Torvalds ● 发展依赖于五个重要支柱: unix操作系统、minix操作系统、 GNU计划、POSIX标准和互联网 ● 2.6之后…

WebSocket:实现客户端与服务器实时通信的技术

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…