前言

  作为最常用的单片机程序编辑工具,全球有超过10万的工程师在使用Keil,但初学者很有可能对Keil的各种信息和操作一无所知,我便是其中一员,由于最近看了很多Keil相关的教程,这里想结合自己的实践经验来写一篇汇总式的教程,我觉得几乎包含了在使用Keil的过程中可能出现的各种需求。

一、Keil下载及安装

  使用一个软件,首先是获取这个软件的安装包,而根据我们的习惯,一般会选择在官网下载,一个是保证版本要最新(没有这个需求的当我没说),一个是避免各种奇奇怪怪的问题。
  于是,我们来到官网:https://www.keil.com/,点击Download
在这里插入图片描述
  选择Product Download
在这里插入图片描述
  下载MDK-ARM和C51两个安装文件,如果只需要一个,按需下载
在这里插入图片描述
  具体操作就不再演示了,下载时应该还需要填写一些信息,按需填写。然后就可以得到两个文件:
在这里插入图片描述

注意:小版本可能不一样!但问题不大。

二、Keil兼容C51和ARM

  由于安装破解一种版本的Keil比较简单,网上教程一大堆,此处不再赘述,而是记录一下自己在实现Keil兼容C51和ARM时的操作。我觉得大部分人应该都会有这个需求。
  先说说我找的一些教程吧。在研究这个问题的时候,我也是找了很多教程的,但我发现教程之间差得特别大,有些要求两个软件分开安装,然后复制来复制去的,还需要改变ini文件,确实非常复杂,但也有很简单的操作方式,那就是直接两个安装包装一起就完事,非常简单。我试的就是后一种,而且亲测有效! 下面简单叙述一下过程。

  • 1. 安装MDK,选择一个你喜欢的路径,其他的都是一路next。
    需要注意这里有一个小讲究,那就是路径问题,默认路径是C:\Keil_v5,虽然我们可以选择其他路径,但是仔细的话就会发现,在下面有一行蓝色小字,提示你这个路径有严格的管理员权限限制,使得运行需要管理员权限,那不用管理员权限运行就不行了吗?编辑代码还是可以的,但是会出现一些奇怪的问题,后面会有提及,先埋个伏笔。在这里插入图片描述所以这里,我仍然改动了路径。

  • 2. 安装c51v960a
    这个具体操作也是一路next,但是一定要注意,安装路径一定要和MDK-ARM安装路径相同!!!。另外,我看到的教程好像都是先安装C51,再安装MDK-ARM,但是我的顺序不一样好像也没有问题~~

  • 3. 效果展示
    安装完两个安装包之后会发现,桌面上仍然只有一个快捷方式,因为其实创建了两个,但先创建的被默认替换掉了,可见其执行程序还是一样的。双击快捷方式,打开Keil,新建工程。在这里插入图片描述
    在这里插入图片描述
    如果器件处可以选择,表示兼容ARM和C51的Keil安装成功!

  • 4. 激活
    安装完之后,为了正常使用,还需要进行激活,方法和一般的激活方式差不多,但是记得注册机要用2032年到期的,具体可以参考这个链接

三、STM32支持包下载安装

  Keil本质上只是一个框架,如果不填充内容,编译单片机的程序就是一句空话,而支持包就是这个“内容”。安装支持包有两种方式,分别为离线安装在线安装。所谓离线,即是先从官网等渠道下载支持包,然后在Keil中去安装;而在线,就是直接在keil软件中安装,当然要求软件联网。

1. 离线安装

  离线安装首先要下载支持包。仍然坚持我们软件优先从官网下载的原则,我们去官网找一下支持包。打开官网:https://www.keil.com,在搜索栏中搜索pack:
在这里插入图片描述
  回车,显示搜索结果:
在这里插入图片描述
  很幸运,第一个就是,点击进入。
在这里插入图片描述
  为方便查找,可以点击Device List,当前看到的是具体板子的型号,点击之后相当于对板子进行分类。
在这里插入图片描述
  然后下载所需的型号即可。注意:如果需要F1的支持包,可以点击F1系列下任何型号,然后点击右边的下载即可,会自动下载该系列的支持包。对应型号板子的网页内容会提供该型号芯片的信息及相关的例程,辅助学习。

//2022.11.1更新:
  前两天意外发现Keil官网下ST的支持包的位置换到Keil目录下了。。。所以如果找不到ST开头的项,建议直接使用浏览器的查找功能Ctrl + F,搜索STM即可。

  这一步之所以讲得这么细致,主要是想 “授之以渔” ,如果以后需要其他型号的单片机,也可以到这个网站按照这种方式来寻找。

  下载完成之后,可以得到如下支持包(我下载了F1和F4两个系列的支持包):
在这里插入图片描述
接下来就是安装了。如果像上图这样的,已经识别出图标了,即已经找到对应的运行软件,可以直接双击安装。如果觉得这样不放心,也可以在软件中打开pack installer,如下图所示:

在这里插入图片描述
在这里插入图片描述
然后找到对应的pack文件即可。

  但是在这里往往会遇到一个问题,那就是包安装失败的问题,目前来说,我遇到这个问题100%是管理员权限的问题,正是之前提到的安装路径更换需要管理员权限运行。最简单的方法就是关闭程序,右键,以管理员身份运行,但是每次都点也很麻烦,所以我建议出现问题的可以直接设置快捷方式的属性:
在这里插入图片描述
在这里插入图片描述

2. 在线安装

  相比于离线安装,在线安装步骤更加简单,直接以管理员身份打开Keil,然后运行pack installer,直接在搜索框中搜索stm32即可,找到对应的系列,再点击右边的install按钮,就能完成安装。

在这里插入图片描述

当然,这种方式可能会有点慢,这是因为这里在线安装是从keil官网下载的,国外服务器有点慢。

3. 成功标志

  可以尝试新建一个项目,如果选择项里面有STMicroelectronics,那么就代表支持包安装成功。
在这里插入图片描述

四、常用配置

  完成了以上内容,Keil的安装基本完成,接下来就是对Keil的配置操作了,这部分内容可以提供你编程的速度和效率。以下操作内容基本是操作该软件的设置。提前告知位置:Edit -> Configuration(在最后)

1. 代码补全和代码联想

  众所周知,STM32的库函数都特别长,那我怎么保证我没有输入错误呢?主要依靠的就是代码联想和代码补全功能。Keil虽然显得很有年代,但其实Keil是具有代码联想和代码补全功能的!
  而且这个设置默认是打开的,查看方法很简单,打开设置,选择Text Completion
在这里插入图片描述

2. 主题设置

  用Keil打开一个工程,会看到如下界面:
在这里插入图片描述
  用四个字来形容,那就是又小又丑,不太适合编程,于是,优化界面就显得很重要了
  仍然是打开设置,选择Color&Fonts
在这里插入图片描述
  有意思的是,虽然每一项都设置了字体的选项,但一旦设置字体,所有的都会改变(这显然得要的嘛)字体大小同理。

  另外,需要注意的是,所有主题相关的更改,都会体现在文件global.prop中,而这个文件就在Keil安装根目录下,右键快捷方式选择打开文件所在位置即可找到。因此,如果想要快速更换主题,可以在网上找一些大佬们设置好的主题,直接替换即可。但建议最好替换完全一点。

3. 快捷键设置

  仍然打开设置,选择Shortcut Keys
在这里插入图片描述
  然后选择对应的功能进行设置即可。建议将Comment SelectionUncomment Selection 设置快捷键,分别是注释选中行和取消注释选中行,但这个功能有点缺陷,就是这个“选中”是真的选中,而不能仅仅是鼠标光标停在某一行,有点奇怪。。。

4. 快速模板

  快速模板提供了一个随时添加一个小模块的功能,可以在一定程度上加快程序的编写。
在这里插入图片描述
  进入后,右键:

在这里插入图片描述
  选择Configure Templates
在这里插入图片描述

  这个功能可以用来编辑函数前的注释,非常好用。

在这里插入图片描述

5. 快速格式化代码

直接看这个链接即可,不再赘述

6. 转换文件编码格式

  在使用Keil时,发现一个问题,那就是不同编码格式下的字体不一样(虽然设置的字体是一样的),主要表现为UTF-8格式下可以支持常用的编程字体,比如Fira Code,但是GB2312格式下却不支持,然而现在很多例程都是GB2312的格式,作为一个美化狂,不能忍受这个问题,于是就去找了一些相关的美化操作,没想到,还真找到了,hh,可以参考这个链接。但是很无奈的是,和博主聊过之后才发现,博主电脑上是支持的,但我这就是不行,各种方法都试过了,就很无奈。最后还是无意间找到一个替代品,参考这个链接。虽然不能集成到Keil中,但总的来说使用很方便,就当记录一下了。

/* 2022.3.22 */ 更新

  之前经过自己的试验,发现将代码文件转化编码格式会出现很多意想不到的问题,比如自带字库的LCD12864模块,需要注意:这个自带的字库的编码方式是GB2312,即Keil默认的中文编码格式,也就是说如果你的.c文件编码格式为UTF-8,那么你写的中文就不能被LCD模块识别,从而导致乱码,这个问题估计没几个人会遇到,但一旦遇到,估计就是卡好几天,还得质疑LCD是不是烧了。。。
  在遇到这个问题之后,我在反思为什么我想要将代码文件的编码格式转换成UTF-8,原因就是我想要美化字体,但是中文编码格式下不支持很多编程字体,那么有没有什么办法可以不改变编码格式而且也能有好看的字体呢?还真有。参考MATLAB,我们可以考虑使用混合字体,这里推荐一个混合字体,也是最为常见的混合字体:Consolas+微软雅黑,就不放下载链接了,大家可以上网搜一下,资源很多。

7. Keil中的历史打开文档里面的坑//2022.5.19

  最近使用Keil遇到一个很离谱的事情,那就是发现程序无理报错 undefined identifier,而且程序确定是对的,这就很离谱了,经过一通查找,最后无意间发现,其报错指向的头文件似乎不是我打开的那个,但是名字却是完全一样的,这就很奇怪了,我一开始还以为是写程序的人疏忽了,但是工程文件夹下却只有一个文件。然后我把所有已打开的文档全部关闭,然后再重新打开工程,意外发现,那个头文件,竟然还是我修改之前的文件。。。
  到这里,基本明白了是怎么回事,Keil留有一个功能很有意思,那就是会记录你这个工程打开了哪几个文件,然后在你下次打开的时候直接读取“记忆”,这样就方便开发人员,但是实际上它打开的是缓存文件,如果你在关闭工程之后又移动了它的路径,那就完蛋了,它打开了缓冲文件你改动是没办法指向原文件的,也就意味着你改动的其实并不是真正的文件。。。。。
  所以,为了避免这种尴尬的事情再次发生,个人觉得应该得改变一下使用习惯。一个就是关闭所有文档之后再关闭工程,一个就是要学会识别这种缓冲文件,其特点就是文件名都大写了。

8. compiler v5 missing //2023.7.10

  最近突然发现最新版的keil竟然不预装编译器了,需要自己单独去下载。在网上搜索相关问题时,才发现原来从keil 5.37开始就不预装了(本文发布时最新版为5.35),因此只有两个选择:要么搞低版本的,要么就再单独安装一个编译器。

keil历史版本官方下载链接

由于官网下载软件需要填写的信息过多,太麻烦了,这里推荐一个keil相关软件的下载链接汇总,先膜拜一波~

下载链接汇总

9. 文件图标上有黄色钥匙

  如下图所示
在这里插入图片描述

简而言之,带这种图标的文件为只读文件,文件增加了可读属性,这里切换的方法可以参考这篇文章

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐