1.在磁盘根目录创建文件夹,命名为Template,并在该文件夹中创建CORE,LIB,OBJ,USER四个文件夹。
2.打开Keil uVision5,选中Project中的New uVision Project 选择文件夹路径及工程名。
3.选择STM32F103C8芯片后点击OK。
4.点击Cancel。
5.打开Template-USER,删除Listings,Objects两个文件夹
6.定位至官方库(需要自行下载)的如下路径:
STM32F10x_Stdperiph_Lib_V3.5\Libraries\STM32F10x_Stdperiph_Driver;
(1)将inc文件夹中的所有文件复制到Template\LIB\inc中
(2)将src文件夹中的所有文件复制到Template\LIB\src中(以此处为准)
7.定位至官方库的如下路径:
STM32F10x_Stdperiph_Lib_V3.5\Libraries\CMSIS\CM3
8.定位至官方库的如下路径:
STM32F10x_Stdperiph_Lib_V3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
9.定位至官方库的如下路径:
STM32F10x_Stdperiph_Lib_V3.5\Project\STM32F10x_StdPeriph_Template
10.打开Keil uVision5,点击Manage Project Items;
删除Source Group 1,Target 1;新建Template,USER,LIB,CORE
11.添加文件到Groups,其中USER需添加system_stm32f10x.c和stm32f10x_it.c,LIB需添加stm32f10x_gpio.c和stm32f10x_rcc.c等所有.c文件,CORE需添加core_cm3.c和startup_stm32f10x_md.s
12.点击Options for Target
13.点击Output勾选Create HEX File;点击Select Folder for Objects
14.选择如下方框中的路径后,点击OK。
15.再次点击Options for Target
在C/C++中Define,定义STM32F10X_MD,USE_STDPERIPH_DRIVER(注意中间是逗号)
Include Paths中选择\CORE,\USER,\LIB\inc
16.新建main.c,保存到Template\USER中
17.将main.c添加到工程中
18.输入以下代码
#include "stm32f10x.h"
void Delay(u32 count)
{
u32 i=0;
for (;i<count;i++);
}
int main(void)
{
GPIO_InitTypeDef GPIO_Initstructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_Initstructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Initstructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOC, &GPIO_Initstructure);
while(1)
{
GPIO_SetBits(GPIOC,GPIO_Pin_13);
Delay (300000);
GPIO_ResetBits(GPIO,GPIO_Pin_13);
Delay (300000);
}
}
19点击Rebuild,检查和修改错误。
20.下载到最小系统板看到小灯闪烁,完成工程模板的建立。
最后,小R建议小伙伴们一开始不熟悉的时候,可以重复跟着本文多建几次工程模板。熟悉了自己的工程有什么文件,我们就能更好地进行开发啦。
欢迎关注微信公众号『OpenSSR』