【STM32】keil软件常用使用技巧

发布时间:2022-12-09  

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文件等),是非常实用的一个技巧。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    STM32单片机开发环境的安装与使用;1.1 概述 学习 STM32 单片机的第一步便是开发环境的搭建了。开发环境的作用是什么呢?自然是用来敲代码,编译代码,调试代码和下载代码了。业界两款最常用的软件......
    stm32用什么软件写程序;  stm32用什么软件写程序?STM32单片机在编程时可以使用库函数和使用配置寄存器的方式来进行程序的实现。   在学习stm32的过程中我们会用到编程环境:Keil......
    stm32单片机用什么软件编程;  今天要和大家分享的是stm32单片机用什么软件编程相关信息。   想学单片机开发,最主要是熟悉stm32的软件开发环境,目前stm32的开发环境,主流是KEIL和......
    keil5keil5 mdk有什么区别?;从Keil C51都Keil5 MDK,不知不觉已经用了Keil十几年。 虽然现在新增了一些开发环境,不过keil对于老工程师来说,应该......
    特别说明下就是苹果的电脑好像不行,因为我们接下来使用的这个keil5软件没有苹果的版本,如果你的电脑是苹果的但是你很想学也可以装一下Windows的虚拟机,安装虚拟机的方法大家百度一下。 一 下面来介绍两个我们电脑上应该装的两个软件......
    器的具体工作原理和作用可以参见本公众号“嵌入式ARM篇”合集文章《01_编译过程简介及为什么需要交叉编译器》。支持STM32系列MCU的编译软件有很多种,开发编译环境也各不相同,其中Keil uVision5(以下简称Keil5......
    费的,驱动也未必全。更多的时候我是用一个内存加上去的次顶配的MBP(发热小点,性能也不差)使用Mac OS,Windows如果需要用虚拟机。 所以,因为Windows下面有什么软件......
    形式为DIP40,相信大家在大学里学单片机的时候老师都是用这一款教的吧。 3 硬件原理设计 芯片选型完毕之后,又有了设计思路,那就赶快把电路图画出来吧。画电路图用什么软件呢?这样的EDA工具很多,像......
    STM32单片机程序是如何编译,运行的?;不知道大家有没有疑惑,为什么软件能控制硬件? 本文分析STM32单片机到底是如何软硬件结合的,分析单片机程序如何编译,运行。 一、软硬件结合   初学......
    单片机编程用什么软件?单片机开发软件有哪些?;单片机编程需要的软件其实不多,网上看了很一大堆,什么protues仿真、Labview、Pycharm等等,其实完全没必要一下装这么多。 我从......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>