6、程序编写与基本调试
6.1、新建文件
通过我们之前对构建工程模板的学习,我们应该了解在创建文件时,一般需要将.c文件与.h文件一起添加。同时由用户自己创建的.c文件一般放置在./USER/Src文件夹中,由用户自己创建的.h文件一般放置在./USER/Inc文件夹中,这样整个工程才可以正常运行。 当然,这么做只是为了降低项目维护成本,但是这个习惯尤其重要。尤其是当你参与团队项目开发时,统一的开发习惯会大大增加团队的效率。 具体操作为:
1. 点击【新建文件】
图 6-1 按钮在界面中的位置
2. 新建完成后点击【保存】或按【Ctrl+S】进行保存
图 6-2 新建文件后的效果
3. 打开./USER/Src,输入文件名,【加.c后缀】,之后点击【保存】
图 6-3 源文件保存操作
4. 重复(1)(2)操作,之后打开./USER/Inc,输入与(3)同名(后缀不同)文件名,这次【加.h后缀】,之后点击【保存】
图 6-4 头文件保存操作
5. 双击【USER】
图 6-5 按钮在界面中的位置
6. 找到./Src位置,选择【test.c】,点击【add】,注意不需要将.h文件也add进来。
图 6-6 将源文件添加到组
7. 现在可以观察到已经添加成功了。
图 6-7 最终添加效果`
6.2、基本编写
在本阶段完成文件间的关联即可。
1. .c文件的编写
- 导入自己的.h文件
- 函数实现(这里暂不要求)
图 6-8 源文件基本编写
2. .h文件的编写
- 预编译语句,防止重复编译
- 导入标准库 ”stm32f10x.h”
- 宏定义(这里暂不要求)
- 函数声明(这里暂不要求)
图 6-9 头文件基本编写
3. main文件的增量编写
- 导入刚刚编写的 “test.h”
- 使用“test.h”自己编写的库函数(这里暂不要求)
图 6-10 mian增量编写
4. 编译
点击编译,下面会显示0 Error(s), 0 Warning(s),编译通过
图 6-11 编译通过
6.3、在线调试
在线调试分为软件在线调试与硬件在线调试。由于现在硬件成本较低,一般我们都使用硬件在线调试,也就是软件直接下载到芯片,软件与硬件同步运行,我们可以查看运行状态。
1. Keil支持硬件调试,为了说明功能,我们可以编写一段简单的程序。
点击侧边栏对这一行加断点,然后点击【Start/Stop Debug Session】
图 6-12 按钮在界面中的位置
2. 点击之后得到如下界面,如果左下角的【Command】栏中显示报错,或者与调试时的预期现象不符合,尝试退出后重新编译,再次进入。
图 6-13 界面整体介绍
3. 由于篇幅有限,所以只介绍一些基本按钮的使用。
- 复位【Reset】:使程序复位到初始状态。
- 运行【Run】:让程序全速运行,直到遇到断点,程序将暂停。
- 停止【Stop】:停止运行。
- 单步调试【Step】:每点一次按钮,程序运行一步,遇到函数会进入。
- 逐行调试【Step Over】:每点一次按钮,程序运行一行,意味着遇到函数不进入。
- 跳出调试【Step Out】:每点一次按钮,程序跳出这个函数,直到回到main函数。