历史上的今天
返回首页

历史上的今天

今天是:2024年09月17日(星期二)

2019年09月17日 | Keil(MDK-ARM)系列教程(五)_Configuration(Ⅰ)

2019-09-17 来源:eefocus

Ⅰ、写在前面

本文带来的内容正如标题“Configuration”,只是标题包含的内容较多,我计划将其分为:Configuration(Ⅰ)和Configuration(Ⅱ)两篇文章来讲述。


我们常见的字体大小、颜色、关键字、快捷键等这些都是在“Configuration”中进行设置。本文讲述Configuration中的前面3项Editor、Colors & Fonts、User KeyWords。


本文讲述的Configuration配置和前面文章Options for Target目标选项在保存上有一个明显的区别:Configuration修改过后并保存的配置是保存在你Keil(电脑)软件上;而Options for Target修改过后并保存的配置是保存在你(.uvprojx和.uvoptx)工程文件中。


本文内容已经整理成PDF文件,提供给大家下载:


http://pan.baidu.com/s/1nuJ0RDR


Ⅱ、本文要点

按照前面文章编辑方式,为了使文章内容精简,过于简单和不常用且过于复杂的内容只简述。


注意:为了方便大家理解,本文提供一些动画效果,博客中不支持较大文件动画,更多动画效果可以进入微信公众号查看。


1.本文主要内容

为了不让文章的篇幅过多而显得繁杂,本文将只对“Configuration”前三项Editor、Colors & Fonts、User KeyWords进行讲述,后三项请见下一篇文章。

2.打开“Configuration”方法

1.点击Configuration快捷按钮,如下图:

2.从菜单中打开,Edit-> Configuration,如下图:

Ⅲ、Editor编辑

我将Edit分为五部分来讲述,分为General Editor Settings、Function Display、Look & Feel、File & Project Handing、C/C++ & ASM & Other File五个部分,如下图:

1.General Editor Settings

General Editor Settings是通用编辑设置的意思,这个选项里面内容比较实用,可以参看下面动画效果。


Dncoding:编码方式选择。


Keil提供十几种编码方式供大家选择,一般我们选择标准的:Dncode in ANSI.


Auto Indent:自动缩进。


也就是换行时自动缩进(对齐)功能,提供3个选项。


None:不对对齐,光标每次换行在第一列。


Smart:灵活对齐(常用)。包含大括号自动对齐。


Block:光标对齐于前一行。


Virtual Spaces:虚拟空间。


光标在上下移动时不管有没有“空间”都对齐。也就是说光标可以在任何位置。


View White Space:显示空白(空格)。


也就是显示一个点为空格。


View End of Line:显示结束行。


也就是在行结束位置显示换行符


Dncoding、Auto Indent动画效果:

Virtual Spaces、View White Space、View End of Line动画效果:

2.Function Display

Function Display是函数显示的意思,就是如何在Function Display窗口显示函数。


这一区域是三个参数组合(1配2)的配置,【显示方式Display Modules】和【显示内容Scan function names in project files、Scan function names in current editor files】进行组合可以4种显示效果。

Display Modules:显示模块【显示方式】。


勾选:以模块(分组/文件夹)方式显示。


不选:以函数名方式显示。


简单的说模块显示就是显示C源文件名,将函数名折叠在文件里面。


Scan function names in project files:浏览工程项目中所有函数【显示内容】。


就是显示工程中所有函数。


Scan function names in current editor files:浏览当前(打开)编辑文件的函数【显示内容】。


比如:我打开了main.c和bsp.c两个文件来编辑,那么就显示这两个文件的内容(函数)。


Function Display动画效果:

3.Look & Feel

Look & Feel是看&感觉(视觉)设置的意思,看下面描述就能直观的理解这一区域意思。


Show Message Dialog during Find:在查找时显示消息对话框。


就是在查找结束,或未查找到相关内时容弹出的提示框。


比如:我在main.c文件中查找main1(文件中实际是没有main1),勾选上就会弹出消息对话框(如下图),不勾选就不会弹出高亮对话框。

Highlight Current Line:高亮当前行。


光标放在那一行,这一行就高亮的意思。如下图:

Highlight matching and mismatched braces:高亮显示匹配和不匹配括号。


将光标放在括号处,会高亮括号,如下图:

Print with syntax coloring:打印语法颜色。


打印颜色对应为编辑器中的颜色。


Colored Editor Tabs:颜色编辑器选项卡。


启用或禁用文件名称标签的颜色。


Right Margin:右边距。


编辑分隔符标记的位置号。位置号的默认值是80,范围[1-999]。


None:无标记;


Vertical Line:虚线标记;


Colored Background:背景颜色标记。

4.File and Project Handling

File and Project Handling是文件和工程管理的意思,针对的是文件和工程。


Create Backup files:创建备份文件(* . bak)。


勾选该选项会影响文件和项目管理,一般我们不勾选。


Automatic reload of externally modified files:自动加载(不提示)修改过的文件。


比如:Keil软件打开了main.c文件,再使用文本编辑器打开该main,c文件修改其中内容并保存,这时Keil软件自动加载修改过后的main.c文件。


Save Project before entering Debug:进入调试之前保存工程项目。


Save Files before entering Debug:进入调试之前保存所有文件。


Auto save modified File every [x] Minutes:每x分钟自动保存文件。


5.C/C++ & ASM & Other File

这里三组配置类似,只讲述一组,比较简单。


Use syntax coloring:使用语法颜色。


不使用语法就等于txt文本那种纯黑色。见下图不使用和使用区别:

Insert spaces for tabs:符插入空格。


这个符号需要配合上面第一处General Editor Settings的View White Space显示出来才能看到效果。

Tab Size:Tab符大小。


一个Tab符占几个空格。


Show Line Numbers:显示行数


Use monospaced Font:使用等宽字体。


Open with Outlining:打开伦廓。


Ⅳ、Colors & Fonts颜色和字体

这个选项里面的配置就是我们很多人说的修改字体和颜色。我这里整体讲述一下里面内容。【个人习惯使用默认设置,也建议大家尽量使用默认设置】。

Window窗口:列出所有可配置窗口名称或窗口类型。这个列表是预定义的,用户不能修改。我们常见修改的地方就是“C/C++ Edit files”。


Element元素:一个窗口的列表元素。这个列表是预定义的,用户不能修改。


Font字体:包含Font字体、Size大小和Style风格三项。


Colors颜色:包含Foreground 前景色、Background 背景色。


Ⅴ、User Keywords用户关键字

这个选项比较简单,就是用户自定义关键字。

Text File Types:文本文件类型。


User Keywords:用户关键字。


举例:我们定义C/C++类型关键字为“abcedf”,在编辑的时候就会显示关键字颜色。

Ⅵ、说明

每一种工具的功能都是需要自己亲自实践,并长期使用才能达到灵活运用的地步,不建议死记硬背。若要了解更多关于Keil的系列教程,可以进入我微信公众号或博客查看。


为了照顾大部分人,本文采用标记、主要说明和阐述的方式对每一项内容进行讲述。如果内容详尽,会让篇幅过于繁杂,且不易找到重点。


以上内容仅供参考,若有不对之处,敬请谅解。

推荐阅读

史海拾趣

AEM [ American Electronic Materials]公司的发展小趣事

AEM公司起源于美国,其创立之初便致力于电子元器件的研发与生产。在早期,AEM便以其独特的创新理念和先进的技术水平,迅速在电子元器件市场中崭露头角。公司通过不断的技术研发,成功开发出了一系列具有竞争力的电子元器件产品,如高性能的电阻器、电容器等,这些产品广泛应用于通信设备、计算机、消费电子等多个领域。

随着技术的不断进步,AEM逐渐积累了丰富的经验和专业知识,其产品在市场上得到了广泛的认可。同时,AEM还积极拓展海外市场,将产品出口到全球多个国家和地区,进一步提升了公司的国际影响力。

Dicon Fiberoptics Inc公司的发展小趣事

进入21世纪后,随着互联网的普及和信息技术的飞速发展,光纤通信技术迎来了新的发展机遇。DiCon凭借其在微机电系统(MEMS)、微光学设计等领域的技术积累,成功推出了一系列具有创新性的光纤通信产品。这些产品不仅提高了数据传输的速度和稳定性,还降低了成本,进一步扩大了公司在市场上的份额。

Cables To Go公司的发展小趣事

在竞争激烈的电子行业中,优质的客户服务是赢得客户信任的关键。Cables To Go公司深知这一点,因此始终将客户服务放在首位。公司建立了一支专业的客服团队,随时为客户提供咨询、技术支持和售后服务。此外,公司还不断优化服务流程,提高服务效率,确保客户能够享受到及时、专业的服务。这种以客户为中心的服务理念赢得了客户的广泛赞誉。

CML Microcircuits公司的发展小趣事

在1968年,电子行业正迎来一场技术革新。在这个充满机遇的时代,CML Microcircuits公司应运而生。初创时期的CML专注于研发单芯片解决方案,而不是传统的标准组件组合。这一创新理念使CML在行业中脱颖而出。公司的第一个产品——频率敏感开关,凭借其卓越的性能和可靠性,迅速赢得了市场的认可。这款产品不仅销售了30多年,而且至今仍在某些应用中发挥着关键作用。

磁联达(CND-tek)公司的发展小趣事

为了提高产品质量和客户满意度,磁联达(CND-tek)公司引入了一套严格的质量管理体系。公司从原材料采购、生产过程到成品检验等各个环节都进行了严格把关,确保每一件产品都符合高标准的质量要求。此外,公司还建立了完善的售后服务体系,为客户提供及时、专业的技术支持和解决方案。这些举措使得磁联达(CND-tek)的产品质量得到了客户的高度认可。

芯茂微电子公司的发展小趣事

芯茂微电子始终坚持品质至上和客户至上的原则,致力于为客户提供高品质、高性能的集成电路产品和服务。公司建立了完善的质量管理体系和客户服务体系,从产品研发、生产、销售到售后服务,每一个环节都严格把控,确保产品质量和客户满意度。正是凭借这种对品质和客户的执着追求,芯茂微电子赢得了客户的广泛信赖和赞誉。

问答坊 | AI 解惑

适用于多平台的新型的按键扫描程序

以下假设你懂C语言,因为纯粹的C语言描述,所以和处理器平台无关,你可以在MCS-51,AVR,PIC,甚至是ARM平台上面测试这个程序性能。当然,我自己也是在多个项目用过,效果非常好的。好了,工程人员的习惯,废话就应该少说,开始吧。 核心算法: ...…

查看全部问答>

vs2005中新建的pocket PC2003 项目与wince4.0是什么关系?

vs2005中新建的pocket PC2003 项目与wince4.0是什么关系? 我新建的是pocket PC2003 项目,看文档说明书的时候,人家都说是,wince3.0 4.0什么的, 我想知道 pocket PC2003 到底是对应wince哪个版本呢? 先谢了..…

查看全部问答>

弱弱的问一句 bootloader 是那个文件?

弱弱的问一句: \\WINCE600\\OSDesigns\\2451\\2451\\RelDir\\smdk2450_ARMV4I_Release 下的 EBOOT.bin 和 EBOOT.nb0 ,是不是就是大家说的Bootloader 啊 ? 在没有bootloader 的裸片子上,是不是先烧EBOOT.nb0 后就可以烧 NK.nb0 了? …

查看全部问答>

打开DHCP之后,Microsoft ActiveSync无法连接

wince 2440开发板。我发现个奇怪的问题,如果DHCP打开的话,Microsoft  ActiveSync就连接不上了 刚刚开始玩wince. 本来开始不知道有个DHCP需要开启,就没有开,wince一开就Microsoft  ActiveSync就能连上, 后来出现 Tim ...…

查看全部问答>

关于把自己定制的内核下载到开发板的问题

我的开发板有个操作系统,已经做好操作系统了,现在我想把自己定制的内核下载到开发板上.   我在PB->Target->Configure Remote Connection->Download(Ethernet)->configure中找不到我的开发板的设备,请问这是什么原因? …

查看全部问答>

eeworld论坛没做好!搞得人很不爽!希望设计者多努力!

弹出下载界面,我点击取消,第二次居然说积分不过!他妈的吗,垃圾啊…

查看全部问答>

做的DS12C887时钟 12864液晶 秒只能跳1秒就停

做的DS12C887时钟 12864液晶 秒只能跳1秒就停 P0口接的12864液晶 P1口接的大侠们帮我看一下是什么问题#include <reg51.h>#define uchar unsigned char#define uint  unsigned int/* 端口定义*/#define LCD_data  ;P0  ...…

查看全部问答>

lm3s9b96上接3g上网卡或wifi的usb 开发

本人新人一个。。 以前不做这块的,刚去一个新单位,领导要开发这么一个东西。 主要目的就是通过usb口接的3g或wifi模块同外部设备进行数据传输。   大家有什么方案建议之类的没有? 例程最好了。学习文档之类的也非常感谢。   多 ...…

查看全部问答>

步进程序停不了?请教

   #include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar code FFW[]={ 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };sbit K1 = P3^0;//启动按键sbit K3 = P3^2; //停按键void DelayMS(uint ms)//延时{  ...…

查看全部问答>

OLED显示器的DC生产测试中测量误差的来源

测量误差的来源是由测试系统的精度、以及在对OLED给出信号和进行测量期间所未曾想到的瞬态过程引起的。在进行快速的生产测试时,在稳定状态下进行精确DC测量的能力,是与尽可能快地完成测试的需求相互牵制的。测试周期的时间长短是由源/测量以及 ...…

查看全部问答>