STM32F103标准库 Keil 工程模板创建

STM32F103C8T6 标准库工程模板创建

下载库

可以根据自己 MCU 的型号去 STM32 官网下载相应的库,网址:STM32 官网标准库下载地址

 STM32F103 库的下载地址如下:STM32F10x标准外设库

 我使用最新版本 3.6.0,下载下来解压后是:STM32F10x_StdPeriph_Lib_V3.6.0

STM32F103标准库 Keil 工程模板创建_第1张图片

建立 Keil-MDK 模板工程

创建文件夹

创建一个模板工程的文件夹,如图:

STM32F103标准库 Keil 工程模板创建_第2张图片

App: app 文件。主要的编程工作在这里展开。

Core: 存放 ARM 内核代码

Doc: 存放文档

Peripheral: 存放标准外设库源码

Project: 存放 Keil 工程文件

Start: 存放启动文件

User: 存放用户文件。main.c 文件在这里。

其中,Core、Peripheral、Start 文件夹下的文件全部从下载的标准库中复制,User 文件夹下处 main.c 外皆复制自下载的标准库。

复制标准库

复制内核源文件:

STM32F103标准库 Keil 工程模板创建_第3张图片

 复制启动文件:

STM32F103标准库 Keil 工程模板创建_第4张图片

复制器件支持文件:

STM32F103标准库 Keil 工程模板创建_第5张图片

创建工程

 打开Keil-MDK,在刚刚创建的 Project 文件夹下建立一个新的工程:

STM32F103标准库 Keil 工程模板创建_第6张图片

设计如下分组:

STM32F103标准库 Keil 工程模板创建_第7张图片

工程设置

从官网下载的标准外设库不支持armcc6编译器,所以设置为默认的armcc5编译器:

STM32F103标准库 Keil 工程模板创建_第8张图片

Output 勾选 Hex:

STM32F103标准库 Keil 工程模板创建_第9张图片

添加预处理宏定义:USE_STDPERIPH_DRIVER  STM32F10X_MD, 添加头文件路径

STM32F103标准库 Keil 工程模板创建_第10张图片

STM32F103标准库 Keil 工程模板创建_第11张图片

设置烧录工具:

STM32F103标准库 Keil 工程模板创建_第12张图片

STM32F103标准库 Keil 工程模板创建_第13张图片

编写 main.c

#include 

/*默认系统时钟,可以大致精确到ms级延时*/
void delay_ms(uint16_t time)
{
  u16 i=0;
  while (time--) {
    i=8000; 
    while(i--) ;
  }
}

void LED_Init(void)
{
   GPIO_InitTypeDef GPIO_InitStructure; 
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	//启动GPIO的时钟
 
   GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;					//选模式推挽输出
   GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;								//哪个引脚
   GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;				//引脚反应速度
   GPIO_Init(GPIOC, &GPIO_InitStructure);									//完成初始化    
 }


int main()
{
	LED_Init();
	
	while(1) {
		delay_ms(100); //delay_ms(100);
    GPIO_SetBits(GPIOC, GPIO_Pin_13);
    delay_ms(100); //delay_ms(100);
    GPIO_ResetBits(GPIOC, GPIO_Pin_13);
  }
}

验证

按键盘上的 F7 快捷键进行编译:

STM32F103标准库 Keil 工程模板创建_第14张图片按键盘上的 F8 键下载:

STM32F103标准库 Keil 工程模板创建_第15张图片

加作者薇信:jiyuyun18 交流电子技术,留言:CSDN 嵌入式,加入嵌入式技术交流群 

你可能感兴趣的:(STM32,1024程序员节)