当前位置: 首页 > news >正文

keil5如何添加.h 和.c文件,以及如何添加文件夹

1.简介

在hal库的编程中我们一般会生成如下的几个文件夹,在这几个文件夹内存储着各种外设所需要的函数接口.h文件,和实现函数具体功能的.c文件,但是有时我们想要创建自己的文件夹并在这些文件夹下面创造.h .c文件来实现某些功能,本人也浏览了一些教程但发现大部分教程过于模糊对新手并不友好,所以本人斗胆用最简单的话语讲解如何添加自己的文件

 如下这就是我们最终实现的目标,添加自己的文件夹,然后在这个文件夹下添加自己的.h和.c文件(如图led_control)

2.具体操作

首先点开工程文件

然后点开工程文件的MDK-ARM,然后右键在这个里面创建led_control这个文件夹(这个名字是根据自己要实现的功能随便取的)

然后点开led_control文件夹,然后在里面创建.h和.c文件(右键选择创建文本文档,默认创建的文档是 .txt格式的,然后对格式进行更改也就是把.txt 分别改为.c和.h文件)

然后这个时候我们的文件已经创建完成,下一步就是进入keil5将文件路径导入keil5

在keil5中点击这个三个正方形的东西

点开后 点击图中的这个框框

点击完框框后会出现 一个栏在这个栏里面写上自己所创建文件夹的名字(我创建的文件夹名字叫 led_control  因为我已经创建好了 所以图中显示了led_control   你们自己实现的时候 添加完成后才会出现led_control  )

创建好后 点击h,然后点击Add File

点击完Add File后会跳出如下的框图

然后在这个框图里面点击led_control,然后里面有个.c文件(这个文件就是我们最开始添加在文件夹led_control下的.c文件)最后点击Add

 然后.c文件就被成功的添加进了led_control文件夹(注意:里面的.h是我以前添加好的,你们自己添加的时候肯定是没有的,我们下一步才教如何添加.h文件 因为我已经添加好了所以就没有删,提示读者这个虽然是教学文档但是还是要自己有独立动手思考的能力)

 

然后我们开始添加.h文件

重复上面的步骤

点击完Add File后会跳出如下的框图

 然后在上面这个框图里面点击led_control,然后我们发现里面只有.c文件

 那么这个时候我们点击下面的文件类型选择全部文件

然后.h文件就如下弹出

然后重复添加.c时的操作,将.h文件添加进去

最终效果如下

然后下一步我们开始添加文件路径

点击下图的魔术棒

点击去后点击c/c++

 点进去后 点击Include Paths这一行最后面的省略号(如下图)

 点击进去后 点击右上方框框 然后下册弹出光标 点击光标最后面的省略号

 然后进入文件夹 先点击led_control  然后点击右下角 选择文件夹

然后就成功添加文件路径 如下图就是成功添加(注:截图中的很多过程都是我添加完后截图的 你们自己做的时候肯定不会出现 但是我觉得只要自己认真阅读了并手把手做了 其实没有多大的难度 我是已经添加了一遍再懒得从零开始添加了  我只是复述整个过程 真正的实践还是要看各位自己 )

 完成了上述操作后我们最终得到的效果图如下,我们成功的将文件夹和.c .h文件添加进keil5中

注:截图中的很多过程都是我添加完后截图的 你们自己做的时候肯定不会出现 但是我觉得只要自己认真阅读了并手把手做了 其实没有多大的难度 我是已经添加了一遍再懒得从零开始添加了 你可以理解为我在拿结果讲过程  我只是复述整个过程 真正的实践还是要看各位自己

相关文章:

keil5如何添加.h 和.c文件,以及如何添加文件夹

1.简介 在hal库的编程中我们一般会生成如下的几个文件夹,在这几个文件夹内存储着各种外设所需要的函数接口.h文件,和实现函数具体功能的.c文件,但是有时我们想要创建自己的文件夹并在这些文件夹下面创造.h .c文件来实现某些功能,…...

BMC PSL function(22)-printf()

printf() 含义:Print text formatted to the C library printf() routine specification Format printf(format,[arg1,......,argn]) Parameter ParameterDefinitionformattext, variable names, and control characters that specify the content and format of output t…...

【数据结构】_复杂度

目录 1. 算法效率 2. 时间复杂度 2.1 时间复杂度概念 2.2 准确的时间复杂度函数式 2.3 大O渐进表示法 2.4 时间复杂度的常见量级 2.5 时间复杂度示例 3. 空间复杂度 3.1 空间复杂度概念 3.2 空间复杂度示例 1. 算法效率 一般情况下,衡量一个算法的好坏是…...

pytorch实现循环神经网络

人工智能例子汇总:AI常见的算法和例子-CSDN博客 PyTorch 提供三种主要的 RNN 变体: nn.RNN:最基本的循环神经网络,适用于短时依赖任务。nn.LSTM:长短时记忆网络,适用于长序列数据,能有效解决…...

Java 16进制 10进制 2进制数 相互的转换

在 Java 中,进行进制之间的转换时,除了功能的正确性外,效率和安全性也很重要。为了确保高效和相对安全的转换,我们通常需要考虑: 性能:使用内置的转换方法,如 Integer.toHexString()、Integer.…...

力扣动态规划-14【算法学习day.108】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关…...

数据结构day02

1 线性表的定义和基本操作 1.1 线性表的定义 分析: 1.1.1 问题一:我们为什么探讨线性表的定义和基本操作 在研究数据结构时,需要重点关注三个方面:逻辑结构、物理结构以及数据的运算。在本节内容里,我们首先来介绍线…...

随笔 | 写在一月的最后一天

. 前言 这个月比预想中过的要快更多。突然回看这一个月,还有点不知从何提笔。 整个一月可以总结为以下几个关键词: 期许,保持期许出现休息 . 期许 关于期许,没有什么时候比一年伊始更适合设立目标和计划的了。但令人惭愧的…...

JVM方法区

一、栈、堆、方法区的交互关系 二、方法区的理解: 尽管所有的方法区在逻辑上属于堆的一部分,但是一些简单的实现可能不会去进行垃圾收集或者进行压缩,方法区可以看作是一块独立于Java堆的内存空间。 方法区(Method Area)与Java堆一样,是各个…...

一文读懂fgc之cms

一文读懂 fgc之cms-实战篇 1. 前言 线上应用运行过程中可能会出现内存使用率较高,甚至达到95仍然不触发fgc的情况,存在内存打满风险,持续触发fgc回收;或者内存占用率较低时触发了fgc,导致某些接口tp99,tp…...

MYSQL 商城系统设计 商品数据表的设计 商品 商品类别 商品选项卡 多表查询

介绍 在开发商品模块时,通常使用分表的方式进行查询以及关联。在通过表连接的方式进行查询。每个商品都有不同的分类,每个不同分类下面都有商品规格可以选择,每个商品分类对应商品规格都有自己的价格和库存。在实际的开发中应该给这些表进行…...

HTB:Administrator[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用nmap对靶机…...

开源项目Umami网站统计MySQL8.0版本Docker+Linux安装部署教程

Umami是什么? Umami是一个开源项目,简单、快速、专注用户隐私的网站统计项目。 下面来介绍如何本地安装部署Umami项目,进行你的网站统计接入。特别对于首次使用docker的萌新有非常好的指导、参考和帮助作用。 Umami的github和docker镜像地…...

FBX SDK的使用:基础知识

Windows环境配置 FBX SDK安装后,目录下有三个文件夹: include 头文件lib 编译的二进制库,根据你项目的配置去包含相应的库samples 官方使用案列 动态链接 libfbxsdk.dll, libfbxsdk.lib是动态库,需要在配置属性->C/C->预…...

VisionMamba安装

1.安装python环境 conda create -n mamba python3.10.13 -y conda activate mamba2.安装torch环境 conda install cudatoolkit11.8 -c nvidia pip install torch2.1.1 torchvision0.16.1 torchaudio2.1.1 --index-url https://download.pytorch.org/whl/cu1183.安装其他包 c…...

h2oGPT

文章目录 一、关于 h2oGPT二、现场演示特点 三、开始行动安装h2oGPT拼贴画演示资源文档指南开发致谢为什么选择 H2O.ai?免责声明 一、关于 h2oGPT 使用文档、图像、视频等与本地GPT进行私人聊天。100%私人,Apache 2.0。支持oLLaMa、Mixtral、llama. cpp…...

Win10安装MySQL、Pycharm连接MySQL,Pycharm中运行Django

一、Windows系统mysql相关操作 1、 检查系统是否安装mysql 按住win r (调出运行窗口) 输入service.msc,点击【确定】 image.png 打开服务列表-检查是否有mysql服务 (compmgmt.msc) image.png 2、 Windows安装MySQL …...

使用Pygame制作“俄罗斯方块”游戏

1. 前言 俄罗斯方块(Tetris) 是一款由方块下落、行消除等核心规则构成的经典益智游戏: 每次从屏幕顶部出现一个随机的方块(由若干小方格组成),玩家可以左右移动或旋转该方块,让它合适地堆叠在…...

【Block总结】ODConv动态卷积,适用于CV任务|即插即用

一、论文信息 论文标题:Omni-Dimensional Dynamic Convolution作者:Chao Li, Aojun Zhou, Anbang Yao发表会议:ICLR 2022论文链接:https://arxiv.org/pdf/2209.07947GitHub链接:https://github.com/OSVAI/ODConv 二…...

RK3568 opencv播放视频

文章目录 一、opencv相关视频播放类1. `cv::VideoCapture` 类主要构造方法:主要方法:2. 视频播放基本流程代码示例:3. 获取和设置视频属性4. 结合 FFmpeg 使用5. OpenCV 视频播放的局限性6. 结合 Qt 实现更高级的视频播放总结二、QT中的代码实现一、opencv相关视频播放类 在…...

Python金融计算效率翻倍的7个隐藏技巧:pandas加速300%、numba编译优化、向量化避坑指南

第一章:Python金融计算效率翻倍的底层逻辑与性能瓶颈诊断Python在金融量化分析中广泛应用,但其默认解释执行机制常导致大规模时间序列回测、蒙特卡洛模拟或协方差矩阵运算时出现显著延迟。效率瓶颈并非源于算法本身,而集中于CPython解释器的G…...

Clawdbot+Python爬虫实战:自动化数据采集与智能分析

ClawdbotPython爬虫实战:自动化数据采集与智能分析 1. 为什么数据采集需要Clawdbot这样的智能体 你有没有遇到过这样的场景:市场部同事凌晨三点发来消息,“老板急要竞品价格数据,明早九点前要出分析报告”。你打开浏览器&#x…...

WebPlotDigitizer实战指南:从科研图表中智能提取数据的完整方案

WebPlotDigitizer实战指南:从科研图表中智能提取数据的完整方案 【免费下载链接】WebPlotDigitizer WebPlotDigitizer: 一个基于 Web 的工具,用于从图形图像中提取数值数据,支持 XY、极地、三角图和地图。 项目地址: https://gitcode.com/g…...

当游戏语言成为障碍:如何用XUnity.AutoTranslator打破语言壁垒

当游戏语言成为障碍:如何用XUnity.AutoTranslator打破语言壁垒 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 想象一下,你终于等到了期待已久的日式角色扮演游戏,但打…...

【AI工具篇】10款免费AI聊天与绘画神器:从GPT到Stable Diffusion的全方位体验

1. GPT机器人:全能型AI助手 这款工具可以说是AI领域的瑞士军刀,既能陪你聊天又能帮你画画。我实测下来最惊艳的是它直接集成了GPT-4模型,要知道很多收费工具都还在用3.5版本。打开应用就像有个学霸朋友随时待命——上周我写项目方案卡壳时&am…...

RK3588嵌入式Linux开发实战:uboot任意键中断autoboot功能实现

1. 为什么需要任意键中断autoboot功能 在嵌入式Linux开发中,uboot作为系统启动的"引路人",承担着硬件初始化、内核加载等重要任务。RK3588这类高性能处理器在启动时,默认会进入autoboot倒计时流程。这个设计本意是好的——当系统正…...

编译原理实战:5分钟搞定词法分析器的选择题(含答案解析)

编译原理实战:词法分析器选择题高效解题指南 在编译原理的学习和考试中,词法分析器相关选择题往往是考察重点,也是许多同学容易失分的部分。面对复杂的正规式、有限自动机等概念,如何快速准确地做出判断?本文将带你深入…...

dbg-macro配置完全指南:禁用宏、强制颜色输出与警告控制

dbg-macro配置完全指南:禁用宏、强制颜色输出与警告控制 【免费下载链接】dbg-macro A dbg(…) macro for C 项目地址: https://gitcode.com/gh_mirrors/db/dbg-macro dbg-macro是一款轻量级C调试宏工具,通过简单的dbg(...)语法即可实现变量值、类…...

OWL ADVENTURE助力在线教育:AI自动批改绘图作业实践

OWL ADVENTURE助力在线教育:AI自动批改绘图作业实践 想象一下,一位在线美术老师,面对上百份刚刚提交的手绘作业。他需要一份份打开,仔细查看学生的构图、线条、比例,然后写下针对性的评语。这个过程不仅耗时费力&…...

RevokeMsgPatcher:突破微信消息限制的高效管理工具

RevokeMsgPatcher:突破微信消息限制的高效管理工具 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/G…...