00. 目录

文章目录

  • 00. 目录
  • 01. 文本美化
  • 02. 语法检测和代码提示
  • 03. 代码编辑技巧
    • 3.1 TAB键的妙用
    • 3.2 快速定位函数和变量的定义
    • 3.3 快速注释和快速取消注释
  • 04. 其它小技巧
    • 4.1 快速打开头文件
    • 4.2 查找替换
    • 4.3 跨文件查找功能
  • 05. 附录
  • 06. 声明

01. 文本美化

文本美化,主要是设置一些关键字、注释、数字等的颜色和字体。前面我们在介绍 MDK5新建工程的时候看到界面,这是 MDK 默认的设置,可以看到其中的关键字和注释等字体的颜色不是很漂亮,而 MDK 提供了我们自定义字体颜色的功能。我们可以在工具条上点击 (配置对话框)或者Edit->Configuration。

在该对话框中,先设置 Encoding 为:Chinese GB2312(Simplified),然后设置 Tab size 为:4。以更好的支持简体中文(否则,拷贝到其他地方的时候,中文可能是一堆的问号),同时 TAB间隔设置为 4 个单位。然后,选择:Colors&Fonts 选项卡,在该选项卡内,我们就可以设置自己的代码的子体和颜色了。由于我们使用的是C语言,故在Window下面选择:C/C++ Editor Files在右边就可以看到相应的元素了。

字体大小,则可以直接按住:ctrl+鼠标滚轮,进行放大或者缩小,或者也可以在刚刚的配置界面设置字体大小。

用户自定义关键字没有高亮显示,解决办法是同样选择:C/C++Editor Files,在右边的 User Keywords 对话框下面输入你自己定义的关键字。

02. 语法检测和代码提示

MDK5.30的版本,有代码提示与动态语法检测功能,使得 MDK 的编辑器越来越好用了,这里我们简单说一下如何设置,同样,点击 ,打开配置对话框,选择 Text Completion选项卡。

Strut/Class Members,用于开启结构体/类成员提示功能。
Function Parameters,用于开启函数参数提示功能。
Symbols after xx characters,用于开启代码提示功能,即在输入多少个字符以后,提示匹配的内容(比如函数名字、结构体名字、变量名字等),这里默认设置 3 个字符以后,就开始提示。

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

03. 代码编辑技巧

3.1 TAB键的妙用

首先要介绍的就是 TAB 键的使用,这个键在很多编译器里面都是用来空位的,每按一下移空几个位。如果你是经常编写程序的对这个键一定再熟悉不过了。但是 MDK 的 TAB 键和一般编译器的 TAB 键有不同的地方,和 C++的 TAB 键差不多。MDK 的 TAB 键支持块操作。也就是可以让一片代码整体右移固定的几个位,也可以通过 SHIFT+TAB 键整体左移固定的几个位。

选中一块然后按 TAB 键,你可以看到整块代码都跟着右移了一定距离

3.2 快速定位函数和变量的定义

大家在调试代码或编写代码的时候,一定有想看看某个函数是在那个地方定义的,具体里面的内容是怎么样的,也可能想看看某个变量或数组是在哪个地方定义的等。尤其在调试代码或者看别人代码的时候,如果编译器没有快速定位的功能的时候,你只能慢慢的自己找,代码量比较少还好,如果代码量一大,那就郁闷了,有时候要花很久的时间来找这个函数到底在哪里。型号 MDK 提供了这样的快速定位的功能。只要你把光标放到这个函数/变量(xxx)的上面(xxx 为你想要查看的函数或变量的名字),然后右键,弹出如图所示的菜单栏 :

温馨提示

要先在 Options for Target 的 Output选项卡里面勾选 Browse Information 选项,再编译,再定位,否则无法定位!

很多时候,我们利用 Go to Definition/ Reference 看完函数/变量的定义/申明后,又想返回之前的代码继续看,此时我们可以通过 IDE 的 按钮(Back to previous position)快速的返回之前的位置,这个按钮非常好用!

3.3 快速注释和快速取消注释

在调试代码的时候,你可能会想注释某一片的代码,来看看执行的情况,MDK 提供了这样的快速注释/消注释块代码的功能。也
是通过右键实现的。这个操作比较简单,就是先选中你要注释的代码区,然后右键,选择Advanced→Comment Selection 就可以了。

这样就快速的注释掉了一片代码,而在某些时候,我们又希望这段注释的代码能快速的取消注释,MDK 也提供了这个功能。与注释类似,先选中被注释掉的地方,然后通过右键→Advanced,不过这里选择的是 Uncomment Selection。

04. 其它小技巧

4.1 快速打开头文件

在将光标放到要打开的引用头文件上,然后右键选择 Open Document“XXX”,就可以快速打开这个文件了(XXX 是你要打开的头文件名字)。

4.2 查找替换

这个和 WORD 等很多文档操作的替换功能是差不多的,在 MDK 里面查找替换的快捷键是“CTRL+H”。

4.3 跨文件查找功能

先双击你要找的函数/变量名(这里我们还是以系统时钟初始化函数:Stm32_Clock_Init 为例),然后再点击 IDE 上面的 Find in Files。

点击 Find All,MDK 就会帮你找出所有含有GPIO_Init字段的文件并列出其所在位置

该方法可以很方便的查找各种函数/变量,而且可以限定搜索范围(比如只查找.c 文件和.h文件等),是非常实用的一个技巧。

05. 附录

5.1 【STM32】STM32系列教程汇总

网址:【STM32】STM32系列教程汇总

06. 声明

该教程参考了正点原子的《STM32 F4 开发指南》

【STM32】keil软件常用使用技巧相关推荐

  1. STM32 KEIL软件设置程序烧写起始地址选择

    转自  https://blog.csdn.net/alfredseng/article/details/53021583 STM32系列的mcu,这儿以cortex-M4为例,我们在线调试时,一般会 ...

  2. SAP软件常用操作技巧及常见问题处理

    声明:本文仅代表原作者观点,仅用于SAP软件的应用与学习,不代表SAP公司.注:文中SAP相关字或图片,相应著作权归SAP所有. 1.用户菜单和收藏夹,TCODE显示  用来按自己的使用习惯来添加和收 ...

  3. 学习ArcGIS?37个Arcmap常用操作技巧可能帮到您

    概述 ARCgis软件作为地信人日常工作绕不开的软件之一,产品功能相对来说比较复杂,对于新手来说从入门到完全上手需要很长时间学习,这里就为大家整理了37个个软件常用操作技巧,希望能够帮到需要的同行(文 ...

  4. 【STM32】 keil软件介绍--工具栏

    转载至:https://blog.csdn.net/ybhuangfugui/article/details/51501781 Ⅰ.写在前面 Toolbars工具栏其实就是在菜单下面一行一行的快捷图标 ...

  5. 用keil软件完成STM32汇编程序的编写

    目录 一:在keil软件环境下创建工程 二:汇编程序的编写 三:分析生成的HEX文件 四:总结 五:参考文献 一:在keil软件环境下创建工程 点击project,然后点击New uVision Pr ...

  6. excel表格换行快捷键_常州办公excel表格常用技巧, 办公软件常用快捷键【金坛吧】...

    办公excel表格常用技巧, 办公软件常用快捷键,word删除空格小技巧 不是有很多人觉得办公软件会不会无所谓的,其实这是一个非常错误的想法,办公软件再我们的日常工作生活中起着至关重要的作用,办公软件 ...

  7. 使用keil软件创建一个STM32工程

    使用keil软件创建一个STM32工程 ----------------芯片:STM32F429IGT6 创建一个STM32F429IGT6的工程,其他型号的单片机也大同小异.因为最近开始学习STM3 ...

  8. keil软件调试(Debug)仿真教程(软件调试和硬件调试的区别)及常用调试按键详解

    文章目录 前言 一.什么是软件调试(Debug),有什么用? 二.keil Debug常用按钮 总结 前言 单片机的调试分为两种,一种是使用软件模拟调试,第二种是硬件调试,两种调试方式各有不同,软件模 ...

  9. Keil软件仿真STM32时出现“no ‘write‘ permission”,“no ‘read‘ permission ”的错误

    Keil软件仿真STM32时出现"no 'write' permission","no 'read' permission "的错误 在Keil中可以对我们的程 ...

最新文章

  1. C++ Primer 读书笔记 - 第十三章
  2. Web漏洞扫描(一:利用WVS进行漏洞扫描)
  3. 在GridView中的批量删除!
  4. C#使用linq查询大数据集的方法
  5. 小叮咚切分词方法加入sourceforge.net中WebLucene分词模块
  6. Windows 7平台安装Oracle Client 10g版本时需要做的一点变更
  7. Ubuntu下面Master PDF Editor背景颜色设置
  8. c++ qt5范例开发大全_使用yocto工具编译qt5.9.6总结
  9. 学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
  10. 数据库性能Quest Performance Analysis Overview
  11. 数据治理为何越来越重要
  12. python面向对象:小结
  13. Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结 1. 版本历史 1 1.1. C# 1.0-纯粹的面向对象 2 1.2. C# 2.0
  14. ERP系统合理制定生产计划流程,简化排产步骤
  15. 前端开发实习面试题(Vue篇)
  16. 关于Layout Constraint的动态update方式
  17. python locust在windows下的安装
  18. 17、简单的企业人事管理系统(ssh)
  19. 「数据库知识」——SQL处理学生表
  20. 项目中如何修改UI框架的默认样式

热门文章

  1. 207-Course Schedule
  2. Daily Report 2012.11.9 刘宇翔
  3. head first Design Pattern State
  4. sql获取oracle数据库数据,通过sql语句获取数据库的基本信息
  5. 参数校验放在controller还是service_@Validated校验的实践
  6. android 原始编译过程,Android编译系统环境初始化过程分析.doc
  7. Java黑皮书课后题第4章:*4.3(几何:估算面积)应用4.1节图中以下地点的GPS位置:Georgia州的Atlanta……计算被这四个城市所围起来的区域面积
  8. 哲学家就餐问题php代码,Python实现哲学家就餐问题实例代码
  9. win8 -telnet安装
  10. winform TreeView 节点选择