根据前面的 KEIL 开发平台知识,根据自己的习惯,建立一个专门属于自己的工程模板。那么为什么要建立模板呢?
1、 你希望每次开发项目的时候都从头开始建立工程吗?
2、 你希望每次将常用的函数都重新编写吗?(比如串口发送函数、printf 函数重定向,字符转化函数、I2C 驱动程序……)。
3、 你希望你的工程 Options 选项每次建立时都要重新设置吗?(C99 模式,生成 bin 文件、下载设置……)
如果以上答案为否,那么说明其实你也是一个不愿意做重复劳动的人,那么建立工程模板就是非常明智的选择。
该模板主要有以下功能:
1、 将你认为有必要的平台功能添加到工程选项中,开发项目时打开工程即可开始主函数的编写。
2、 常用的驱动函数都包含在这里
3、 所有测试成功的函数都将在这里进行更新,这是你独一无二的函数集中库。
4、 不同硬件环境下的不同模板(STM32F4、STM32F1),相同硬件环境不同功能(FLASH 下载,RAM 下载、仿真功能、Debug 调试版本、Release 最终版本)
下面开始一步步建立适合你自己的模板(将以我自己的习惯作为介绍)。
开发平台设置
为了更好的使用 KEIL 开发平台,有必要首先介绍一下平台的设置,该设置和工程无关,即当你将工程文件整个剪切到别的电脑上时,该设置只在你的电脑的 keil 有效,而不会影响别人电脑中的设置。这些操作还是有必要了解一下的,可以让你更方便的使用你的开发平台。
这个设置界面就是 Configuration:
Editor 选项:
我认为比较重要的就是 Encoding 了,这个是设置中文格式的,一般默认情况下使用的是 UTF-8,这个格式在 keil 平台的显示效果还是比较好的,但是在删除中文字符时,需要删除两次才能删除一个中文字符,显然是一件很麻烦的事情,而且很多时候换平台的时候或者移植别人的代码时,经常出现乱码的情况。所以我的建议是使用 GB3212 编码格式。
然后是 Virtual Space 这个功能可以开启,这样的话随处可以开始进行代码的编写或注释了(不明白的操作一下就知道了)。对齐方式(Auto Indent)采用 Smart。
然后是这几个选项:
Automatic reload of external modified files 选项不勾选,这样当工程打开的文件在外部编辑器改变时,就可以提示是否需要重新加载或者不加载了。
后面三个依次是进入调试前保存工程设置、进入调试时保存文件(其实每次编译时都会自动保存文件的,文件右上角的*存在表示修改了,没有就说明已保存)、每过五分钟自动保存。
然后 C/C++ 源文件使用语法颜色,这样一些关键字就会根据设置的颜色突显出来了。Table 大小默认选择 2,如果说你看别人的代码发现格式很乱,那么你可以试试更改这个数字。还有需要显示行数,这样你通过断言输出(assert_failed())就能够准确定位错误代码的位置了。
Colors & Fonts
这个选项卡建议使用默认即可,刚开始写代码的时候也觉得有趣,就把一些常用的宏定义设置成自己想要的颜色(比如将 uint、uchar 当成关键字一样显示不同的颜色,后来慢慢的发现太麻烦了,还是保持原生态比较好)。
User Keyword:
设置属于自己的关键字,那么你设置的关键字就会如 void、int、char 等一样特殊显示了。建议还是不要设置。毕竟换一台电脑开发的话你会很不习惯的。
Shortcut Keys
这个选项可以看到 keil 软件的所有快捷键,当然你也可以自己设置自定义的快捷键。
Text Completion
这个选项卡还是很有用处的,最最重要的就是开启代码自动补全的功能了,这样你写部分名称就可以自动补全全部的。当使用结构体时也可以自动列出你需要的成员变量进行选择。这里的 3 表示你写完 3 个字符后开始匹配工程中所有可能的名字。当然你也可以设置成其它数。
然后是动态语法检查,也就是边写代码边检查语法是否有问题,而不必如以前一样编译完了才知道有没有问题的,这样可以大大加快开发速度,毕竟如果你的工程很庞大,编译一次需要几十秒,还是很烦人的。
动态检查结果通过以下路径打开
最后是 C/C++ 的模板,你可以将一些常用的的格式在这里写上,这样可以节省不少时间。注意#define | 中的丨,这个是用来定位光标的,当你插入代码之后,光标自动定位到这里。