【正点原子STM32】KEIL MDK5使用技巧(文本美化、代码编辑、查找&替换技巧、工程编译问题定位、窗口视图管理)

本文详细介绍了如何在KeilμVision开发环境中管理和个性化文本美化,包括编辑器配置、代码提示、全局prop文件的使用,以及代码编辑、查找替换、工程编译问题定位和窗口视图管理的技巧。
摘要由CSDN通过智能技术生成

一、文本美化

二、代码编辑技巧

三、查找&替换技巧

四、工程编译问题定位
五、窗口视图管理
六、总结

一、文本美化

Edit 编辑> Configuration 配置

1.1、编辑器设置

在这里插入图片描述
在这里插入图片描述
ASM文件:汇编文件
在这里插入图片描述

1.2、字体和颜色设置

在这里插入图片描述
在这里插入图片描述

1.3、用户关键字设置

在这里插入图片描述
在这里插入图片描述

1.4、代码提示&语法检测

在这里插入图片描述
在这里插入图片描述

1.5、global.prop文件妙用

在这里插入图片描述
在这里插入图片描述
在 Keil μVision 中,global.prop 文件是一个项目配置文件,用于存储与项目全局配置相关的设置。这个文件通常包含了一些与项目和工程相关的全局性选项,例如编译器设置、调试器选项、输出文件配置等。编辑这个文件可以直接修改项目的全局配置,而无需通过图形用户界面。

# properties for all file types
# 所有文件类型的属性

# properties for c/cpp files
# C/C++ 文件的属性

# properties for asm files
# 汇编文件的属性

# properties for other files
# 其他文件的属性

# setting for code completion and syntax check
# 代码补全和语法检查设置

# autosave for editor files
# 编辑器文件的自动保存

# vertical edge at right margin
# 右边缘的垂直边界

# Specification for text selection and caret line
# 文本选择和光标行的规范

# Color for vertical edge
# 垂直边界的颜色

# C/C++ Editor files
# C/C++ 编辑器文件

# Asm Editor files
# 汇编编辑器文件

# Editor Text files
# 文本编辑器文件

各部分的简要说明如下:

  • 所有文件类型的属性properties for all file types: 适用于项目中所有类型文件的通用属性。

  • C/C++ 文件的属性properties for c/cpp files: 适用于 C 和 C++ 源文件的特定属性。

  • 汇编文件的属性properties for asm files: 适用于汇编语言源文件的特定属性。

  • 其他文件的属性properties for other files: 适用于未在前述部分中涉及的文件类型的设置。

  • 代码补全和语法检查设置setting for code completion and syntax check: 与代码补全和语法检查相关的配置。

  • 编辑器文件的自动保存autosave for editor files: 用于配置编辑器文件的自动保存。

  • 右边缘的垂直边界vertical edge at right margin: 与编辑器右侧边缘的显示相关的设置。

  • 文本选择和光标行的规范Specification for text selection and caret line: 用于配置文本选择和光标行的显示。

  • 垂直边界的颜色Color for vertical edge: 指定垂直边界的颜色。

  • C/C++ 编辑器文件C/C++ Editor files: 针对 C/C++ 编辑器的特定设置。

  • 汇编编辑器文件Asm Editor files: 针对汇编语言编辑器的特定设置。

  • 文本编辑器文件Editor Text files: 文本编辑器的通用设置。

这些部分提供了一个结构,用于定义 Keil μVision 开发环境中各个方面的配置和设置。你通常会根据项目需求在每个部分填写具体的配置或设置。

在 Keil μVision 中,你可以通过如下步骤找到并编辑 global.prop 文件:

  1. 打开 Keil μVision。
  2. 在菜单栏中选择 “File” -> “Open Project…”,打开你的项目。
  3. 在 “Project” 菜单下,选择 “Open Project Folder in File Explorer”。
  4. 在项目文件夹中找到 global.prop 文件,并使用文本编辑器打开进行编辑。

请注意,在编辑 global.prop 文件时要小心,确保了解配置项的含义和影响,以免引入错误或不良影响到项目。最好在修改前备份文件,以防不必要的问题。

这是一个典型的 Keil μVision 的 global.prop 文件,其中包含了一些编辑器的配置选项。以下是文件中一些常见配置项的解释:

  • indent.automatic=1: 启用自动缩进。
  • virtual.space=0: 禁用虚拟空格。
  • view.whitespace=1: 显示空格。
  • view.endofline=0: 不显示行尾符。
  • code.page=65001: 使用 UTF-8 编码。
  • caretline.visible=1: 显示光标所在行。
  • highlight.matchingbraces=1: 高亮匹配的括号。
  • print.syntax.coloring=1: 打印时使用语法着色。
  • use.tab.color=1: 使用标签颜色。
  • create.backup.files=0: 禁用创建备份文件。
  • auto.load.ext.modfiles=0: 禁止自动加载外部修改的文件。
  • save.prj.before.dbg=0: 调试前不保存项目文件。
  • save.files.before.dbg=0: 调试前不保存文件。
  • function.scanner.project=1: 启用项目中的函数扫描。
  • function.scanner.files=1: 启用文件中的函数扫描。
  • function.scanner.modules=1: 启用模块中的函数扫描。

对于 C/C++ 文件的配置:

  • syntax.colouring.cpp=1: 启用 C++ 文件的语法着色。
  • use.tab.cpp=0: 不使用制表符。
  • tabsize.cpp=4: 制表符宽度为 4。
  • line.margin.visible.cpp=1: 显示行边距。
  • fold.cpp=1: 启用代码折叠。
  • monospaced.font.cpp=1: 使用等宽字体。

对于汇编(asm)文件的配置:

  • syntax.colouring.asm=1: 启用汇编文件的语法着色。
  • use.tab.asm=0: 不使用制表符。
  • tabsize.asm=4: 制表符宽度为 4。
  • line.margin.visible.asm=1: 显示行边距。
  • monospaced.font.asm=1: 使用等宽字体。

其他文件的一般配置:

  • use.tabs=0: 不使用制表符。
  • tabsize=4: 制表符宽度为 4。

此外,还包含了代码补全和语法检查等相关设置,以及一些颜色和字体的配置。这些配置项可以根据个人偏好和项目需求进行调整。

global.prop 文件的demo

# properties for all file types
indent.automatic=1
virtual.space=0
view.whitespace=1
view.endofline=0
code.page=936
caretline.visible=1
highlight.matchingbraces=1
print.syntax.coloring=1
use.tab.color=1
create.backup.files=0
auto.load.ext.modfiles=0
save.prj.before.dbg=0
save.files.before.dbg=0
function.scanner.project=1
function.scanner.files=1
function.scanner.modules=1

# properties for c/cpp files
syntax.colouring.cpp=1
use.tab.cpp=1
tabsize.cpp=4
line.margin.visible.cpp=1
fold.cpp=1
monospaced.font.cpp=1

# properties for asm files
syntax.colouring.asm=1
use.tab.asm=1
tabsize.asm=4
line.margin.visible.asm=1
monospaced.font.asm=1

# properties for other files
use.tabs=1
tabsize=4
line.margin.visible.txt=0
monospaced.font.txt=1

# setting for code completion, syntax check and source browser information
cc.autolist=1
cc.highlightsyntax=1
cc.showparameters=1
cc.triggerlist=1
cc.triggernumchars=3
cc.enter.as.fillup=1
cc.usealpha4inactcode=1
cc.alphavalue=50
cc.autoupdbi=1
cc.updbiinterval=3

# autosave for editor files
autosave=0
autosave.interval=5

# vertical edge at right margin
edge.mode=0
edge.column=80


# Specification for text selection and caret line
selection.fore=#000000
selection.back=#86C7F7
caret.fore=#000000
caret.back=#DEFEE6

# Color for vertical edge
edge.colour=#66FAFA

# C/C++ Editor files
template.cpp="#define","#define |";"#if","#if |\r\n\r\n#endif";\\
    "#include","#include ";"Header","// Header:\r\n// File Name: |\r\n// Author:\r\n// Date:\r\n";\\
    "continue","continue;";"do","do\r\n{\r\n\t// TODO: enter the block content here\r\n\t\r\n\t|\r\n} while ();\r\n";\\
    "enum","enum |\r\n{\r\n\t\r\n};\r\n";"for","for(|;;)\r\n{\r\n}";\\
    "fpointer_type","typedef int (* |F)();\r\n";"function","void function(|)\r\n{\r\n\r\n}\r\n";\\
    "if","if (|)";"ifelse","if (|)\r\n{\r\n}\r\nelse\r\n{\r\n}";\\
    "struct","struct | \r\n{\r\n\r\n};\r\n";"switch","switch (|)\r\n{\r\n\tcase:\r\n\t\tbreak;\r\n\tcase:\r\n\t\tbreak;\r\n\tdefault:\r\n\t\tbreak;\r\n}";\\
    "void","void | ();\r\n";"while","while (|)\r\n{\r\n}";\\
    
font.monospace.cpp=Courier New
style.cpp.32=font:Courier New,size:10,fore:#000000,back:#FFFFFF
style.cpp.4=font:Courier New,size:10,fore:#FF0000,back:#FFFFFF
style.cpp.10=font:Courier New,size:10,fore:#000000,back:#FFFFFF
style.cpp.1=font:Courier New,size:10,fore:#800000,back:#FFFFFF
style.cpp.2=font:Courier New,size:10,fore:#800000,back:#FFFFFF
style.cpp.5=font:Courier New,size:10,fore:#0000FF,back:#FFFFFF
style.cpp.6=font:Courier New,size:10,fore:#7F007F,back:#FFFFFF
style.cpp.11=font:Courier New,size:10,fore:#000000,back:#FFFFFF
style.cpp.9=font:Courier New,size:10,fore:#0000FF,back:#FFFFFF
style.cpp.7=font:Courier New,size:10,fore:#7F007F,back:#FFFFFF
style.cpp.34=font:Courier New,size:10,fore:#500000,back:#20FFFF
style.cpp.35=font:Courier New,size:10,fore:#FF0000,back:#FFFFFF
style.cpp.16=font:Courier New,size:10,fore:#0000FF,back:#FFFFFF
style.cpp.12=font:Courier New,size:10,fore:#000000,back:#E0C0E0
style.cpp.86=font:Courier New,size:10,fore:#696969,back:#FFFFFF


# Asm Editor files
font.monospace.asm=Courier New
style.asm.32=font:Courier New,size:10,fore:#000000,back:#FFFFFF
style.asm.1=font:Courier New,size:10,fore:#616161,back:#FFFFFF
style.asm.2=font:Courier New,size:10,fore:#FF0000,back:#FFFFFF
style.asm.3=font:Courier New,size:10,fore:#7F007F,back:#FFFFFF
style.asm.4=font:Courier New,size:10,fore:#000000,back:#FFFFFF
style.asm.5=font:Courier New,size:10,fore:#000000,back:#FFFFFF
style.asm.6=font:Courier New,size:10,fore:#0000FF,back:#FFFFFF
style.asm.7=font:Courier New,size:10,fore:#0000FF,back:#FFFFFF
style.asm.9=font:Courier New,size:10,fore:#0000FF,back:#FFFFFF
style.asm.10=font:Courier New,size:10,fore:#0000FF,back:#FFFFFF
style.asm.11=font:Courier New,size:10,fore:#007F00,back:#FFFFFF
style.asm.12=font:Courier New,size:10,fore:#7F007F,back:#FFFFFF
style.asm.8=font:Courier New,size:10,fore:#46AA03,back:#FFFFFF


# Editor Text files
font.monospace.txt=Consolas
style.txt.32=font:Verdana,size:10,fore:#000000,back:#FFFFFF

二、代码编辑技巧

2.1、Tab键的妙用

在这里插入图片描述

2.2、快速定位函数或变量被定义的地方

在这里插入图片描述
Options for Target 目标选项 > Output 输出设置
Browse infomation 浏览信息
在这里插入图片描述
在这里插入图片描述

2.3、快速注释&快速取消注释

KEIL 注解和去注解 快捷键添加方法
在这里插入图片描述
在这里插入图片描述

三、查找&替换技巧

3.1、快速打开头文件

选中要打开的头文件 + 鼠标右键 + 选择Open Document “xxx.h”
在这里插入图片描述

3.2、查找功能

查找功能快捷键 Ctrl + F
在文件中查找功能快捷键 Ctrl + Shift + F
跳转到某行 Ctrl + G

在这里插入图片描述
在这里插入图片描述
Current Project:当前的项目
Current Document:当前文件

在这里插入图片描述

3.3、查找替换功能

替换功能快捷键 Ctrl + H
在这里插入图片描述
在这里插入图片描述

四、工程编译问题定位

在这里插入图片描述
在这里插入图片描述

五、窗口视图管理

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
Reset: Reinitialize uvision windows with default layout (affects current mode)
重置:使用默认布局重新初始化uvision窗口(影响当前模式)
Restart: Close project and restart uvision with default layout (affects edit and debug mode)
重新启动:关闭项目并使用默认布局重新启动uvision(影响编辑和调试模式)

Reset:重置、Restart:重新启动、Cancel:取消

六、总结

在这里插入图片描述

  • 42
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
基于STM32的数字闹钟系统的设计与实现的设计目的主要有以下几点: 第一,通过该设计与实现,目的是为了掌握使用Keil MDK5进行软件开发。Keil MDK5是一款专业的嵌入式开发工具,可以通过它进行嵌入式软件的编译、调试、烧录等操作。通过在该系统设计与实现过程中使用Keil MDK5,可以提高软件开发效率,掌握嵌入式开发的常用工具。 第二,通过该设计与实现,目的是为了实现数字闹钟系统的功能。数字闹钟系统是一种常见的电子产品,具有时钟、闹铃、定时等功能。通过在STM32微控制器上设计与实现数字闹钟系统,可以巩固对嵌入式硬件的了解,并掌握数字时钟、闹钟等相关的软件编程技术。 第三,通过该设计与实现,目的是为了学习使用STM32的相关技术和功能模块。STM32是一款常用的微控制器,具有丰富的外设和功能模块,如时钟模块、定时器模块、GPIO模块等。通过在该系统设计与实现过程中使用STM32的相关技术和功能模块,可以提高对STM32的理解和应用能力,为将来的嵌入式项目奠定基础。 总之,基于STM32的数字闹钟系统的设计与实现的设计目的主要包括掌握软件开发工具Keil MDK5的使用、实现数字闹钟系统的功能以及学习使用STM32的相关技术和功能模块。通过这些设计目的的实现,可以提高软件开发效率,巩固嵌入式硬件和软件编程知识,并为未来的嵌入式项目打下基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖喱年糕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值