keil多文件组织方法
- 格式:pdf
- 大小:68.37 KB
- 文档页数:5
keil工程中多文件编译时全局变量怎么引用
由于代码较多时为了代码的工整以及易读性,往往将代码拆分成模块,并书写头文件。
但keil中定义全局变量往往是一件头疼的事情。
关键词:static
(1)xx.h文件中基本书写的是管脚定义和函数声明,全局变量不能定义在头文件中,必须最声明在模块化的xx.c文件中,并最好初始化unsigned char i = 0;const uchar code array 【10】={……};
(2)要想在B.c文件中调用A.c中的全局变量时只需用extern再次声明下就好了。
static unsigned char i = 0;static const uchar code array【10】={……};(不能用extern unsigned char i;否则会出现multiple public definition等错误)
extern原理:通常所说的编译(build)其实分两个部分编译(compile)和链接(link)编译的单位是文件,即单个的C文件,因此即使一个变量没有定义就使用了,编译器是不会报错的,编译器认为这个变量应该是在其它文件中被定义了,先作为一个符号放这儿,等一会儿再说。
而在链接的阶段,链接器就要处理这些跨文件的符号(包括变量、函数等),
如果在其它文件中找到了,且是唯一被定义的,就把所有文件中具有全局作用域的同一符号链接为一个东西。
所以,在多个文件的情况下,如果有全局变量需要在多个文件中使用,只需要在一个文件中定义它,在其它文件中使用extern声明一下就可以了,加了extern的意思是显式的告诉编译器,这个变量是在其它文件中被定义的,在编译的时候你略过就可以了,链接器会处理好的,这样编译器就不会报错了。
keil文件结构
Keil的文件结构主要包括以下几个部分:
1. 项目文件(.uvprojx):这是Keil工程文件的主要组成部分,包含了项目的所有配置信息和源代码文件。
项目文件包括了编译器设置、目标板配置、源文件路径等信息。
2. 源文件(.c或.h文件):包含了程序的代码,可以是C或C++文件。
源文件应该包含在Keil工程中,并与项目文件关联。
3. 头文件(.h文件):头文件通常包含了函数声明、宏定义和变量声明等,用于提供给其他源文件引用。
头文件应该与源文件一起添加到Keil工程中。
4. 库文件(.lib或.dll文件):库文件包含了程序运行所需的函数和数据,可以是静态库或动态库。
在Keil工程中,需要添加所需的库文件路径和名称,以便在编译时链接到程序中。
5. 输出目录:Keil工程配置中可以指定输出目录,用于存放编译后的可执行文件和目标文件。
6. 配置文件:Keil工程还可以包含配置文件(.cfg),用于存储一些特定的配置信息,如启动代码、中断向量表等。
以上是Keil工程文件结构的基本组成,根据实际项目需求,可能还需要添加其他类型的文件或配置。
Keil工程文件的建立Keil 工程文件的建立、设置与目标文件的获得单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。
Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行 Keil 软件需要Pentium 或以上的 CPU,16MB 或更多RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。
掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
我们将通过一些实例来学习Keil 软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。
图 1 所示电路图使用89C51 单片机作为主芯片,这种单片机性属于 MCS-51 系列,其内部有 4K 的 FLASH ROM,可以反复擦写,非常适于做实验。
89C51 的 P1 引脚上接 8 个发光二极管,P3.2~P3.4 引脚上接4 个按钮开关,我们的第一个任务是让接在 P1 引脚上的发光二极管依次循环点亮。
KEIL 同一工程中的多文件处理首先,我们需要一个新文档,这个文档的建立有两种方法(以delay1s 函数为例)。
第一种,在工程目录下建立一个delay1s.txt 然后将其改名为delay1s.h。
因为都是同编码的所以不会出现乱码,然后在工程中将其打开。
第二种方法是直接在工程中新建一个文档,然后保存的时候将名字保存为delay1s.h 即可。
如果是需要添加很多文件的话建议使用第一种方法,这是个人建议。
其次,我们需要编写delay1s.h 这个文件的内容,其内容如下:#ifndef_DELAY1S_H_#define _DELAY1S_H_void delay1s();//延时函数#endif 这个是头文件的定义,作用是声明了delay1s()函数,因为如果在别的函数中如果我们需要用到delay1s()函数的话,若不事先声明则在编译的时候会出错。
对于#ifndef#define#endif;这个结构大概的意思就是说如果没有定义(宏定义)一个字符串,那么我们就定义它,然后执行后面的语句,如果定义过了那么就跳过不执行任何语句。
关于为什么要使用这么一个定义方法,比如在led_on()函数中我们调用了delay1s()函数,然后在main()函数中我们也调用了delay()函数,那么,在led_on()函数中我就就要包含头文件delay1s.h,然后在main()函数中也要包含delay1s.h,若主函数中我们调用过led_on(),那么在编译的时候,遇到delay1s()和led_on()的时候就会对delay1s.h 进行两次解释,那么就会出现错误。
若有以上预处理命令的话,那么在第二次的时候这个_DELAY1S_H_已经被定义过了,那么就不会出现重复定义的问题。
这就是它的作用。
但是注意,在编译器进行编译的时候头文件不参与编译。
再次,我们建立一个led_on.h,起代码内容如下:#ifndef _LED_ON_H_#define _LED_ON_H_void led_on(void); //灯闪烁#endif 作用同delay1s.h,不理解的话可以再看一下上面的解释。
keil使用技巧Keil是一种广泛应用于嵌入式系统开发的集成开发环境(IDE),它具有强大的功能和易于使用的界面。
本文将介绍一些使用Keil的技巧,帮助开发人员更高效地进行嵌入式系统的开发。
一、项目管理在Keil中,一个项目通常由多个源文件组成。
为了更好地管理项目,可以使用文件夹来组织源文件。
在Keil的工程窗口中,右键单击项目名称,选择“添加文件夹”,然后将相关的源文件拖放到文件夹中。
这样可以使项目结构更加清晰,方便管理和维护。
二、代码编辑Keil提供了强大的代码编辑功能,可以大大提高开发效率。
其中一些常用的技巧包括:1. 快捷键:Keil中有很多快捷键可以加快代码编写的速度,如Ctrl+C和Ctrl+V用于复制和粘贴代码,Ctrl+Z用于撤销操作等。
熟练掌握这些快捷键可以节省大量时间。
2. 自动完成:Keil支持自动完成代码,只需输入部分代码,然后按下Tab键即可自动补全。
这可以减少输入错误,提高代码的准确性。
3. 代码折叠:Keil可以折叠代码,只显示关键部分,隐藏其他部分。
这对于阅读和编辑大型代码文件非常有用,可以提高代码的可读性。
4. 代码提示:Keil可以根据已有的代码提示可能的选项,帮助开发人员快速选择正确的代码。
这对于初学者尤其有用,可以减少语法错误。
三、调试和仿真Keil提供了强大的调试和仿真功能,可以帮助开发人员快速发现和修复错误。
以下是一些常用的技巧:1. 断点:在调试过程中,可以在代码中设置断点,以暂停程序的执行。
这样可以逐步调试代码,找出错误所在。
2. 监视窗口:Keil的监视窗口可以显示变量的值,以帮助开发人员了解程序的状态。
可以在调试过程中监视变量的值,并对其进行修改。
3. 寄存器窗口:Keil的寄存器窗口可以显示处理器的寄存器的值。
可以在调试过程中查看和修改寄存器的值,以优化程序的性能。
4. 仿真器配置:Keil支持多种仿真器,可以根据需要选择合适的仿真器。
在调试之前,需要正确配置仿真器,以确保能够正常进行调试。
关于建立多文件结构的说明一、打开编程环境VC6.0打开编程环境后,选择菜单栏中的“文件”,下拉菜单中选择“新建”。
在弹出的对话框中点击“工程”标签,选择所创建的工程类型“Win32 Console Application”,指Win32控制台应用程序。
右边输入创建工程的位置和工程名称。
如图1中红色矩形框所示。
图1 创建新工程输入相应内容后,点击确定,下一个弹出窗口中选择“一个空工程”,点击“完成”按钮。
下一个弹出窗口点击“确定”按钮。
二、创建各个文件根据要求创建各个文件,以创建学生student类为例。
所需要创建的文件共有3个,分别为:student.h、student.cpp和main.cpp。
student.h中写类的声明,即类的所有数据成员和所有成员函数的声明;student.cpp中写类的所有成员函数的实现;main.cpp中写主函数。
创建student.h头文件的过程:在编程环境中,选择菜单栏中的“文件”,下拉菜单中选择“新建”。
在弹出的对话框中点击“文件”标签,选择所创建的文件类型“C/C++ Header File”。
右边输入创建的文件名。
如图2中红色矩形框所示。
图2 新建空文件过程点击“确定”按钮,创建一个新的空头文件过程结束。
如果文件顺利创建,可在文件标签中点开“+”号,查看到相应的文件。
然后在对应文件上双击,在右边编辑区中添加相应的代码。
如图3所示。
图3 向文件添加代码的过程创建student.cpp和main.cpp文件的过程与上面类似。
只是所添加的代码不同。
student.cpp所添加的代码:#include "student.h" //注意这个头文件的添加!!!void student::Input(){cin>>num>>name;}void student::Show(){cout<<"num="<<num<<"\t"<<"name="<<name<<endl;}student::student(int n,string na):num(n),name(na){}student::~student( ){}main.cpp所添加的代码:#include "student.h" //注意这个头文件的添加!!!int main(){student stu1(101,"张三");stu1.Show();student stu2;stu2.Input();stu2.Show();return 0;}三、编译、链接、运行程序的编译、链接和运行过程与单独的cpp文件一样。
多文件程序编译连接方法一、为什么需要多文件程序编译连接在大型项目中,源代码通常包含多个函数和类。
如果把所有代码都写在一个文件中,将会导致代码量庞大、可读性差、难以维护和复用。
而将源代码分割成多个文件,每个文件只包含一个函数或类的定义和实现,可以使程序结构更加清晰,提高代码的可读性和可维护性。
此外,多文件程序编译连接还能提供代码的复用性,即不同的程序可以共享同一个源代码文件,减少了代码的冗余。
二、多文件程序的基本结构为了充分利用多文件程序的优势,需要将代码分割成多个文件,并合理组织这些文件,以确保编译时能够正确地找到所需的函数和类。
以下是多文件程序的基本结构:1.头文件(.h文件):包含函数和类的声明。
头文件通常用于定义函数的原型、类的成员和公共变量等。
每个头文件应该有相应的源代码文件与之对应。
2. 源代码文件(.cpp文件):包含函数和类的定义和实现。
一个源代码文件对应一个头文件。
3. 主程序文件(.cpp文件):包含程序的入口函数(main函数)和其他需要在程序开始执行时执行的代码。
4.编译链接时生成的目标文件(.o文件):通过编译器将源代码编译成机器码后生成的文件。
这些目标文件可以被链接器连接成可执行文件。
三、多文件程序的编译链接步骤1. 预处理:预处理器负责解析源代码文件中的预处理指令,如#include、#define等,并将处理后的代码保存到临时文件中(.i文件)。
示例命令:g++ -E main.cpp -o main.i2.编译:编译器将预处理后的代码转换成汇编代码。
每个源代码文件都会生成一个相应的汇编代码文件(.s文件)。
示例命令:g++ -S main.i -o main.s3.汇编:汇编器将汇编代码转换成可重定位的机器码,并生成目标文件。
示例命令:g++ -c main.s -o main.o。
Keil实例教程(一)Keil工程建立及设置作者:平凡教程来源:本站原创点击数:1700更新时间:2008-7-23Keil工程文件的建立、设置与目标文件的获得单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WI NXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
我们将通过一些实例来学习Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。
图1所示电路图使用89C51单片机作为主芯片,这种单片机性属于MCS-51系列,其内部有4K的FLASH ROM,可以反复擦写,非常适于做实验。
89C51的P1引脚上接8个发光二极管,P3.2~P3.4引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光二极管依次循环点亮。
Keil 工程文件的建立、设置与目标文件的获得单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
我们将通过一些实例来学习Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。
图1所示电路图使用89C51单片机作为主芯片,这种单片机性属于MCS-51系列,其内部有4K的FLASH ROM,可以反复擦写,非常适于做实验。
89C51的P1引脚上接8个发光二极管,P3.2~P3.4引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光二极管依次循环点亮。
一、Keil工程的建立首先启动Keil软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision的图标以启动该软件。
单片机C语言多个源文件的组织管理(原创)前言:笔者一直想写点有价值的东西出来和广大网友分享,针对目前国内从事嵌入式行业的专业人士,也许这篇文章对你(高手)来说是小菜一碟,但我相信可能对别人是良药,能纠正你以前写C语言程序所范的不良习惯,看完本文后希望你对C语言有一种新的认识和体会。
一、为什么要组织管理C语言源文件现在越来越多的人都会C语言,C语言的参考书铺天盖地,琳琅满目,但是这些书籍几乎没有提到多个源文件(*.c)的组织管理。
有些人完成一个较复杂的项目只写了一个源文件(*.c),这要花很长时间去查看一个子程序,为什么不分成多个源文件呢?我们逛论坛时经常会看到这样的程序:#include “*.c”,估计很多人在刚开始踏入嵌入式大门时经历过,包括本人,受前人的误导所致,这种写法不是不行,如果语法正确编译器也不会出错,程序工作也蛮正常的,但这种格式就是让人感觉不地道,将源文件直接添加进来,这不是正统的C语言格式,#include后面跟的应该是头文件(*.h)。
如果你现在还在采用这些写法,建议你改过来,请继续往下看。
一般来说,一个较复杂的项目源程序由多个源文件组成,每个源文件代表某一特定的程序功能模块,便于程序组织有条不紊,分类管理,可读性强,比如著名的μcOS-II实时操作系统,由源文件OS_CORE.C、OS_MBOX.C、OS_FLAG.C、OS_MEM.C、OS_MUTEX.C、OS_Q.C、OS_SEM.C、OS_TASK.C、OS_TIME.C构成,你可以以此为标准,看看作者是如何将多个*.c文件组织起来编译,也许还真要点技巧才行。
二、*.c源文件与*.h头文件的组织管理方法,就这么简单举例说明,一个项目的源程序,有四个源文件,每个源文件都有各自的函数,分别如下:(1)main.c,主程序,建议主程序源文件的名称统一叫:main#include <****.h>该单片机对应的头文件#include “main.h”#include “adc.h”#include “time.h”#include “temperature.h”#include “config.h”//有关char,int.,long数据类型的typedef重定义uint8 count;……(2)adc.c#include <****.h>该单片机对应的头文件#include “config.h”//#include “main.h”#include “adc.h”根据所调用的函数添加相应的头文件;没用到的不添加,可加快编译速度//#include “time.h”//#include “temperature.h”uint16 ad_value;void adc_initial(void){…}uint8 adc_convert(void){…}uint8 find_table(uint8 temp){…}(3)time.c,#include <****.h>该单片机对应的头文件#include “config.h”//#include “main.h”//#include “adc.h”//#include “time.h”//#include “temperature.h”uint8 pwm_value;void time_initial(void){…}void cry(uint8 times){…}(4)temperature.c,#include <****.h>该单片机对应的头文件#include “config.h”//#include “main.h”//#include “adc.h”//#include “time.h”//#include “temperature.h”void temperature_pid(void){…}void get_temperature(void){…}我们还须要为这四个源文件配上各自的头文件:(1)main.h#ifndef#define#define#defineextern uint8 count;#endif(2)adc.h#ifndef#definevoid adc_initial(void); //函数申明uint8 adc_convert(void);uint8 find_table(uint8 temp);extern uint16 ad_value;#endif(3)time.h#ifndef#definevoid time_initial(void);void cry(uint8 times);#defineextern uint8 pwm_value;#endif(4)temperature.h#ifndef#define#definevoid temperature_pid(void);void get_temperature(void);#endif三、接下来,我们将4个源文件main.c, adc.c, time.c, temperature,c添加进编译器的工程项目中,编译,OK。
Keil 工程文件的建立、设置与目标文件的获得单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision 将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
我们将通过一些实例来学习Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。
图1所示电路图使用89C51单片机作为主芯片,这种单片机性属于MCS-51系列,其内部有4K的FLASH ROM,可以反复擦写,非常适于做实验。
89C51的P1引脚上接8个发光二极管,P3.2~P3.4引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光二极管依次循环点亮。
一、Keil工程的建立首先启动Keil软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision的图标以启动该软件。
Keil多任务编程方式在谈论今天的主题之前,先说下我以前的一些经历。
在刚开始接触到C语言程序的时候,由于学习内容所限,写的程序都不是很大,一般也就几百行而矣。
所以所有的程序都完成在一个源文件里面。
记得那时候大一参加学校里的一个电子设计大赛,调试了一个多星期,所有程序加起来大概将近1000行,长长的一个文件,从上浏览下来都要好半天。
出了错误简单的语法错误还好定位,其它一些错误,往往找半天才找的到。
那个时候开始知道了模块化编程这个东西,也尝试着开始把程序分模块编写。
最开始是把相同功能的一些函数(譬如1602液晶的驱动)全部写在一个头文件(.h)文件里面,然后需要调用的地方包含进去,但是很快发现这种方法有其局限性,很容易犯重复包含的错误。
而且调用起来也很不方便。
很快暑假的电子设计大赛来临了,学校对我们的单片机软件编程进行了一些培训。
由于学校历年来参加国赛和省赛,因此积累了一定数量的驱动模块,那些日子,老师每天都会布置一定量的任务,让我们用这些模块组合起来,完成一定功能。
而正是那些日子模块化编程的培训,使我对于模块化编程有了更进一步的认识。
并且程序规范也开始慢慢注意起来。
此后的日子,无论程序的大小,均采用模块化编程的方式去编写。
很长一段时间以来,一直有单片机爱好者在QQ上和我一起交流。
有时候,他们会发过来一些有问题的程序源文件,让我帮忙修改一下。
同样是长长的一个文件,而且命名极不规范,从头看下来,着实是痛苦,说实话,还真不如我重新给他们写一个更快一些,此话到不假,因为手头积累了一定量的模块,在完成一个新的系统时候,只需要根据上层功能需求,在底层模块的支持下,可以很快方便的完成。
而不需要从头到尾再一砖一瓦的重新编写。
藉此,也可以看出模块化编程的一个好处,就是可重复利用率高。
下面让我们揭开模块化神秘面纱,一窥其真面目。
C语言源文件*.c提到C语言源文件,大家都不会陌生。
因为我们平常写的程序代码几乎都在这个XX.C文件里面。
keil5工程分组中添加文件的原则
在Keil5工程分组中添加文件的原则可以根据以下几点进行考虑:
1. 文件类型:根据文件的类型将其分组,例如将源代码文件放在一个组中,将头文件放在另一个组中,将资源文件放在另一个组中等。
这样可以更好地组织和管理文件。
2. 功能模块:按照功能模块将相关文件放在一起。
例如,将与串口通信相关的文件放在一个组中,将与定时器相关的文件放在另一个组中等。
这样可以更好地组织功能模块之间的关联文件。
3. 依赖关系:根据文件之间的引用和依赖关系将其分组。
将被其他文件引用的文件放在一个组中,将其他文件所依赖的文件放在另一个组中等。
这样可以更好地管理文件之间的依赖关系。
4. 文件名称:根据文件名称的相似性将其分组。
例如,将所有以"utils"为后缀的文件放在一个组中,将所有以"config"为后缀的文件放在另一个组中等。
这样可以更好地管理文件名称的统一性。
根据以上原则,可以灵活地进行文件分组,以提高工程的可维护性和可扩展性。
KEIL那些编辑技巧与方法本篇笔记介绍一些鱼鹰常用的 KEIL 编辑方法与技巧,用于加快编辑速度。
当然了,很多人现在更多的是使用 VSCode 或者 SI 等软件进行编辑,但不可否认的是,还有很多道友还是选择 KEIL 作为编辑软件的,毕竟这是初恋,已经习惯了。
所以,本篇笔记作为一个编辑技巧的总结。
当然了,关于 KEIL 软件的使用还有一个系列可以参考:《STM32工程模板建立》。
1、双屏有的时候需要同时看两个文件的内容,比如C文件和H文件的内容,这个时候,可以使用 KEIL 双屏的功能。
横屏、竖屏随你选择,下面是竖屏效果:2、TAB替换为空格键安装KEIL软件后,默认情况下TAB键占用2个空格,虽然这样说,实际上还是 TAB 键,只是显示有所不同罢了。
为了看出到底是 TAB 还是空格,我们可以开启这个显示功能:我们可以看下图效果,左边点为空格,右边箭头是TAB键。
那么我们为什么要注意这个,我们知道有些编辑器TAB 键占用2 个空格,有的占用 4 或 8 个空格,而这里没有一个标准,所以当你把同一个文件在不同编辑器打开时,显示的格式可能不一样的。
具体表现是,在一个编辑器里面,代码显得很整齐,换了个编辑器之后,代码变乱了。
所以更好的方式是,将TAB 键替换为空格键,这样,不管在哪个编辑器打开,都是整整齐齐了,也不需要修改TAB 占用多少个空格的问题了。
所以,我们可以打开这个选项:这样,你的TAB键在敲下后就自动转化成了空格键,再也不用手动替换或者手动敲空格了。
关于 TAB 键还有一个老司机都会用的技巧,shift +Tab 可以将选中的多行代码进行整体左移,而tab键可以将选中的多行代码进行整体右移。
3、打开头文件KEIL 为人所诟病的一个很大的缺点就是很难查找一个文件。
这里鱼鹰介绍一个快速打开C文件对应 H 文件的方法:如果该文件有头文件的话,那么很快就可以打开了。
对于包含的头文件,可以这样操作:5.30 版本出现了一个新特性,就是可以在 C 文件和 H 文件之间来回切换,方法类似。