第9章.Keil5-MDK软件简介

目录

0. 《STM32单片机自学教程》专栏

9.1 主界面  

9.2 文本格式编辑 

9.3 代码提示&语法检测&代码模版

9.4 其他小技巧 

9.4.1 TAB 键的妙用  

9.4.2 快速定位函数/变量被定义的地方  

9.4.3 快速注释与快速消注释 

9.4.4 快速打开头文件 

9.4.5  查找替换功能 

9.4.6 跨文件查找功能 


0. 《STM32单片机自学教程》专栏

        本文作为专栏《STM32单片机自学教程》专栏其中的一部分,返回专栏总纲,阅读所有文章,点击Link:  

STM32单片机自学教程-[目录总纲]_stm32 学习-CSDN博客

        在正式开始建立MDK工程之前,我们先简要的介绍一下Keil5-MDK软件的常见使用方法。

9.1 主界面  

图9.1-1 Keil5主界面

        本节我们简单介绍一下Keil5软件的界面及一些常用操作。后面创建例程的时候,我们还会详细讲解操作步骤。图9.1-1为KEIL5 的主窗口界面.分为了一下几个部分:

        菜单栏:包含File文件、Edit编辑、View视图、Project工程、Help帮助等
        工具栏:常见工具的快捷按钮,下面会重点介绍一些常用的工具
        工程窗口:主要显示项目内容,文件组、源文件和头文件等
        编辑窗口:编写代码的地方
        消息窗口:反馈编译信息、烧录信息等
        状态栏:光标的行列位置、字符编码、键盘NUM锁定等一些状态信息

        工具栏里有几类常用的按钮是我们经常要用到的,如图9.1-2. 

 图9.1-2 工具栏常用按钮

        ① 编译类快捷按钮:对代码进行编译下载 

按钮英文名称中文含义快捷键
Translate 编译当前文件Ctrl + F7
Build编译工程目标F7
Rebuild重新编译所有目标文件
Batch Build分批编译(多工程) –
Stop Build停止编译(正在编译时有效)   – –
Download下载程序F8

        ② 工程目标选项又称魔术棒:即对工程目标的配置,如芯片设备选择、C/C++ 选项、仿真配
置等等 

        ③ 调试类按钮:

英文名称中文描述快捷键
Start/Stop Debug Session打开/关闭调试Ctrl + F5
Insert/Remove Breakpoint插入/移除断点F9
Enable/Disable Breakpoint使能/失能断点Ctrl + F9
Disable All Breakpoints失能所有断点
Kill All Breakpoints取消所有断点Ctrl + Shift + F9

9.2 文本格式编辑 

        文本格式编辑,主要是设置一些关键字、注释、数字等的颜色和字体。如果刚装Keil5,没
进行字体颜色配置,我们的界面效果如图9.2-1所示,看上去不是特别舒服。

图9.2-1  Keil5默认文本效果 

我们可以在软件中对字体颜色大小等进行自定义。我们可以在工具条上点击“扳手”按钮,如下图位置。

        弹出的编辑对话框,如图9.2-2所示:

        Editor选项卡中:  

 图9.2-2 配置对话框中Editor选项卡 

        ①设置代码的编码格式:可以选择Chinese GB2312(Simplified)或UTF-8,如果打开别人的例程出现中文乱码,可以尝试修改这个Encoding格式。 

        ②设置 C/C++文件,TAB 键的大小为 4 个字符 。

        Colors & Fonts 选项卡:

 图9.2-3 配置对话框中Colors&Fonts 选项卡

        Colors&Fonts选项卡,在该选项卡内,我们就可以设置自己的代码的字体和颜色了。由于我们使用的是C语言,故在Window下面选择:C/C++EditorFiles在右边就可以看到相应的元素了,如图9.2-3。点击各个元素(Element)修改为你喜欢的颜色,也可以在Font栏设置你字体的类型(这个软件支持的字体类型实在是少的可怜,这里面没有一个我喜欢的字体),以及字体的大小等。字体大小,也可以直接按住ctrl+鼠标滚轮,进行放大或者缩小.
        User Keywords选项卡

图9.2-4 配置对话框中User Keywords选项卡 

        点击 User  Keywords 选项卡,设置用户定义关键字,以便用户自定义关键字也显示对应的颜色(对应图 9.2-3中的 User Keyword/Lable )。在 User Keywords 选项卡对话框输入你自己定义的关键字,如图 9.2-4示。如我们设置了 uint8_t、uint16_t 和 uint32_t 等三个用户自定义关键字,相当于 unsigned char、unsigned  short 和 unsigned  int。如果你还有其他自定义关键字,在这里添加即可。设置成之后点击OK,就可以在主界面看到你所修改后的结果。  

9.3 代码提示&语法检测&代码模版

        Text Completion选项卡: 

图9.3-1 配置对话框中Text Completion选项卡 

        配置对话框,选择 Text Completion选项卡,如图9.3-1,有3个地方是对我们比较有帮助的。

①代码提示:

        上图中的“ShowCodeCompletionListFor”标签中有4个选项:
        Strut/ClassMembers:用于开启结构体/类成员提示功能。
        FunctionParameters:用于开启函数参数提示功能。
        Symbolsafterxxcharacters:用于开启代码提示功能,即在输入多少个字符以后,提示匹配的内容(比如函数名字、结构体名字、变量名字等),这里默认设置3个字符以后,就开始提示。如图9.3-2.

        ENTER/TAB as fill-up character:使用回车和 TAB 键填充字符。

 图9.3-2 代码提示

②动态语法检测: 

        “Dynamic Syntax Checking”则用于开启动态语法检测,比如编写的代码存在语法错误的时,会在对应行前面出现X图标,如出现警告,则会出现图标,将鼠标光标放图标上面,则会提示产生的错误/警告的原因,如图 9.3-3 所示:

图9.3-3 动态语法检测

③代码模版: 

        图9.3-1中的③和④为代码模版,其中③是一段代码的名字,④是这个名字对应的具体代码,然后在主界面的工程窗口中,选择“Template”选项卡,双击“代码名”,便可以将③中代码名字对应的一段代码插入当前代码编辑区光标所在位置中,还是非常方便的,如图9.3-4.

9.3-4 代码模版

9.4 其他小技巧 

9.4.1 TAB 键的妙用  

9.4.2 快速定位函数/变量被定义的地方  

9.4.3 快速注释与快速消注释 

9.4.4 快速打开头文件 

9.4.5  查找替换功能 

9.4.6 跨文件查找功能 

未完待续....

参考资料:

        【1】哔站江协科技STM32入门教程

        【2】《STM32单片机原理与项目实战》刘龙、高照玲、田华著

        【3】《ARM Cortex-M3嵌入式原理及应用》黄可亚著

        【4】《STM32嵌入式微控制器快速上手》陈志旺著

        【5】《STM32单片机应用与全案例实践》沈红卫等著

        【6】《野火STM32开发指南》

        【7】《正点原子STM32开发指南》 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++基础——继承(下)

一、继承与静态成员 基类定义了static 静态成员,则整个继承体系里面只有一个这样的成员。无论派生出多少个子 类,都只有一个 static 成员实例 。 class person { public:person(const char* name "lisi"):_name(name){} public:string _name;…

Trieve实践:好用功的开源RAG

目录 RAG概述 RAG架构 Trieve Trieve介绍 Trieve使用 初始化 自行搭建RAG Trieve是什么,RAG是什么,本文来带你了解。其实在很多产品应用里面都会有RAG,比如ai客服,针对性的智能问答,都是基于RAG实现的 RAG概述 RAG 是一种…

Electron学习笔记(五)

文章目录 相关笔记笔记说明 七、系统1、系统对话框2、自定义窗口菜单3、系统右键菜单4、快捷键(1)、监听网页按键事件 (窗口需处于激活状态)(2)、监听全局按键事件 (窗口无需处于激活状态)(3)、补充:自定义窗口菜单快捷…

力扣刷题 day2

快乐数 202. 快乐数 - 力扣(LeetCode)   图: java // 快乐数 --> 19 > 1^2 9 ^2 82 > 82 > 8 ^ 2 2 ^ 2 ......public boolean isHappy(int n) {// 使用快慢指针int slow n, fast getSum(n);while (slow ! fast) {slow getSum(slo…

十大排序算法之->归并排序

一、归并排序简介 归并排序是一种基于分治策略的有效且稳定的排序算法。归并排序由约翰冯诺伊曼提出,是计算机科学中一个非常基础且历史悠久的算法。 归并排序利用分治法的策略,将一个大的数组拆分成几个小的子数组,这些子数组各自独立地排…

2024中国应急(消防)品牌巡展西安站成功召开!惊喜不断

消防品牌巡展西安站 5月10日,由中国安全产业协会指导,中国安全产业协会应急创新分会、应急救援产业网联合主办,陕西消防协会协办的“一切为了安全”2024年中国应急(消防)品牌巡展-西安站成功举办。该巡展旨在展示中国应急(消防&am…

免费体验GPT-4o这5大功能,非常好用!

这几天,OpenAI发布了新的GPT版本,GPT-4o,比GPT4更加智能也更快。 据说,GPT-4o在文本、推理和编码智能方面实现了GPT-4 Turbo级别的性能,在多语言、文本、音频和视觉功能方面甚至超过了市面上所有同类产品。 有几个亮点…

树链剖分详解,看这一篇就够了

前置知识: 树形结构链式前向星(熟练)线段树(熟练)DFS序(熟练)LCA(了解定义) 什么是树链剖分 树链剖分其实有两种:重链剖分和长链剖分。重链剖分就是把儿子节点最重的儿子称为重儿子,把树分成若干条重链(如图一)&#…

雍禾植发张东宏:以诚相待毛发患者

医学道路上的奋斗往往需要坚定的信念和不懈的努力。对于张东宏医生来说,医学并非止步于书本知识,而是一次次与患者对话、一次次实操中的历练和积累。在他的成长历程中,医学之路如同一棵参天大树,每一步都是扎实的打磨,…

2024年CSPM考试时间线梳理!

最近后台有朋友在问今年CSPM的考试安排,给大家整理一下,需要的朋友认真查看,不要错过考试。2024年5月12日举行了本年度第二次CSPM3级考试~接下来的考试安排如下: 1)2024年CSPM考试安排 本次考试出成绩时间——2024年6…

【RSGIS数据资源】2001-2021 年亚洲季风区主要国家作物种植制度数据集

文章目录 1. 数据集概况2. 数据格式3. 文件名命名规则4. 数据生产服务单位5. 元数据6. 数据引用与参考文献引用 1. 数据集概况 2001-2021 年亚洲季风区主要国家作物种植制度数据集(ACIA500)是结合MODIS 影像和现有的土地利用等多源数据,基于…

QT状态机1-三态循环状态机

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)

【半夜学习MySQL】复合查询(含多表查询、自连接、单行/多行子查询、多列子查询、合并查询等详解)

🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。 🎯每天努力一点点,技术变化看得见 文章目录 回顾基本查询多表查询自连接子查询单行子查询多行子查询多列子查询在from子句中使用子查询合并查询 回顾基本查询 下面使用…

使用python给图片加上文字水印

使用python给图片加上文字水印 作用效果代码 作用 给图片加上文字水印文字水印的字体,颜色,位置可自定义 效果 原图: 加水印后的图: 代码 from PIL import Image, ImageDraw, ImageFontdef add_text_watermark(input_image…

Linux 无名信号量(Semaphore)的使用

目录 一、无名信号量的概念二、无名信号量相关函数三、信号量的使用步骤四、应用场景五、测试代码 一、无名信号量的概念 Linux无名信号量(Semaphore)   在Linux操作系统中,信号量(Semaphore)是一种用于进程间或线程…

OSG编程指南<二十三>:基于OSG+ImGui制作模型编辑器,实现三轴方向的实时平移、旋转和缩放变化

1、概述 在OSG的开发应用过程中,我们有时候总会纠结于使用MFC还是Qt来嵌入OSG窗口以便于后续的功能开发,毕竟选择一个合适的UI框架,对于后续的开发还是省去很多麻烦的。但对于初学者来说,可能对框架消息机制的不熟悉,尤…

景源畅信电商:做抖音有哪些未开发的蓝海领域?

在互联网信息爆炸的今天,抖音已经成为人们获取信息和娱乐的重要渠道。然而,随着用户数量的增加和内容的丰富,抖音的红海竞争也日益激烈。在这样的背景下,寻找还未被充分开发的蓝海领域,对于内容创作者来说,…

基于微信小程序+JAVA Springboot 实现的【智慧乡村旅游服务平台】app+后台管理系统 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称: 基于微信小程序的智慧乡村旅游服务平台的设计与实现 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: Java SSM框架数据库: MySQL前端技术: 微信开发者工具、uni-app其他技术&#xff1a…

Darknet+ros+realsenseD435i+yolo(ubuntu20.04)

一、下载Darknet_ros mkidr -p yolo_ws/src cd yolo_ws/src git clone --recursive https://github.com/leggedrobotics/darknet_ros.git #因为这样克隆的darknet文件夹是空的,将darknet_ros中的darknet的文件替换成如下 cd darknet_ros git clone https://github.…

自定义注解

例如写一个注解PrintTime 如下: import java.lang.annotation.*;//下面的注解属于元注解 Target({ElementType.PARAMETER,ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Inherited Documented public interface PrintTime {/*** 注解的属性*/public S…