STM32F103标准库 Keil 工程模板创建

STM32F103C8T6 标准库工程模板创建

下载库

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

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

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

建立 Keil-MDK 模板工程

创建文件夹

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

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

Core: 存放 ARM 内核代码

Doc: 存放文档

Peripheral: 存放标准外设库源码

Project: 存放 Keil 工程文件

Start: 存放启动文件

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

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

复制标准库

复制内核源文件:

 复制启动文件:

复制器件支持文件:

创建工程

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

设计如下分组:

工程设置

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

Output 勾选 Hex:

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

设置烧录工具:

编写 main.c

#include <stm32f10x.h>

/*默认系统时钟,可以大致精确到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 快捷键进行编译:

按键盘上的 F8 键下载:

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞多学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值