1、创建一个工程文件夹,并且在文件夹里创建三个文件夹并分别以CORE、STM32F10X_LIB、USER命名。
2、将STM32F10x_StdPeriph_Lib_V3.5.0里跟内核相关的几个文件(core_cm3.c/core_cm3.h、startup_stm32f10x_hd.s、stm32f10x.h、system_stm32f10x.c/system_stm32f10x.h)拷贝到CORE文件目录里,几个文件路径如下图所示。
3、将STM32F10x_StdPeriph_Lib_V3.5.0里的库函数文件拷贝到STM32F10X_LIB文件夹里,文件夹路径如图所示。
4、核对复制文件
5、打开keil_MDK软件,依次点击菜单栏里的Project->New uVision Project,命名工程名称,这里的工程名称为“MDK_TEMP”并保存在前面新建的文件夹USER里,如图所示。
6、选择芯片型号,由于我们是基于F1系列产品的STM32F103ZE进行创建工程,所以我们选择STMicroelectronics->STM32F1 Series->STM32F103->STM32F103ZE如图所示。
7、往工程添加分组,这里主要三个分组,分别为USER、CORE、LIB,并往CORE添加core_cm3.c、startup_stm32f10x_hd.s、system_stm32f10x.c等与内核相关文件,往LIB添加STM32F10X_LIBsrc里的库文件,具体步骤如图所示。
8、添加宏定义及头文件路径,具体步骤见图
"USE_STDPERIPH_DRIVER,STM32F10X_HD"
9、创建一个main.c文件,里面可以很简单的创建一个main函数并将该文件保存在USER目录下,并添加进USER组里分别如图所示
10、简单编写main.c,开始编译,编译结果如图所示,从编译结果看有报错
11、添加文件,把需要的文件添加到USER文件夹下
12,重新编译,没有问题,创建完成
13、点亮LED,下列代码写入main.c文件中,具体请根据开发板脚位
#include "stm32f10x.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; //选择你要设置的IO口
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置推挽输出模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率
GPIO_Init(GPIOC,&GPIO_InitStructure); /* 初始化GPIO */
GPIO_SetBits(GPIOC,GPIO_Pin_0); //将LED端口拉高,熄灭所有LED
}
int main(void)
{
LED_Init();
while(1)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_0);//点亮
}
}
14、下载验证可以驱动LED