在电脑中新建一个名为“STM32Project”的文件夹用来存放工程文件。在文件夹中再新建一个名为哦“2-1 STM32工程模板”的文件夹,并在其中创建一个名为“Project”的工程文件。接下来选择“STMicroelectronics”——“STM32F1 Series”——“STM32F103”——“STM32F103C8”芯片型号,点击“OK”,会弹出如下界面:
此节目为keil自带的新建工程助手,这里我们不使用它,直接叉掉即可。
此时,我们的工程文件夹是空的,无法使用。我们需要添加一些文件来使其运行。
打开江科大“STM32入门教程”——“资料”——“固件库”——“STM32F10x_StdPeriph_Lib_V3.5.0”——“Libraries”——“CMSIS”——“CM3”——“DeviceSupport”——“ST”——“STM32F10x”——“startup”——“arm”,可以看到有8个.s的启动文件,我们把文件全部复制下来,在工程文件夹里新建一个名为“Start”的文件夹,并把启动文件粘贴到这里。
接着我们回到“STM32F10x”文件夹,可以看到“stm32f10x.h”与以“system”开头的两个文件。“stm32f10x.h”就是STM32的外设寄存器描述文件,它的作用就和51当中的头文件一样,是来描述STM32有哪些寄存器和它对应的地址的。后面的两个文件主要是用来配置时钟的,STM32主频72MHz就是这两个文件配置的。我们把这三个文件也复制下来,粘贴到“Start”文件夹下。
之后打开“CM3”——“CoreSupport”文件夹,里面有描述内核的寄存器的文件,我们把两个一并复制粘贴到“Start”文件夹下。
我们回到keil,把刚才复制过来的文件添加进来。我们可以单击“Source Group 1”文件夹,把它更名为“Start”,接着右键选择添加已存在的文件到组里来,文件类型选择“All files”,我们的芯片型号所对应的启动文件是后缀为“md.s”的文件,所以只需要添加它一个。之后将所有的.c、.h文件加入keil中。这些文件不需要做修改,所以文件是只读模式,即文件图标上带着小钥匙。
最后我们点击魔术棒按钮,在“C/C++”里找到“Include Paths”,点击右边三个点,在弹出来的框中点击右上角第一个添加路径,把“Start”的路径添加进来,点击“OK”即可把头文件路径添加进来。
为了测试工程是否可行,我们在工程文件夹中新建“User”文件夹,我们的“main.c”就放在这个文件夹里,之后回到keil,右键“Target1”添加组,改名为“User”,之后右键“User”新建.c文件,注意文件路径要选择“User”,否则默认是放在文件夹外面的。
在“main.c”中,我们写下如下代码:
#include "stm32f10x.h" // Device header
int main(void)
{
while(1)
{
}
}
之后点击“编译并建立工程”,等一段时间后零错误零警告,说明我们的工程已经创建好了。
注意:1)main函数必须是返回int型的 ,不能像51一样使用“void”,否则会报警告
2)代码最后必须空一行,不然会报警告
如果想用寄存器开发STM32,那么工程新建到这里就可以了。