stm32入门学习之新建工程

本文详细介绍了如何在Keil环境下创建STM32工程,并实现LED的控制。从新建工程文件夹开始,逐步讲解了芯片选择、文件添加、宏定义设置、头文件路径配置及程序编写过程。

 

1. 新建工程文件夹


这里我们建立一个文件夹为 led,作为工程的根目录文件夹。然后为了方便我们存放工程需要的一些其他文件,这里我们还新建下面USER。至于这些文件夹名字,实际上是可以任取的,我们这样取名只是为了方便识别。
 

2.新建工程

2.1 打开keil,在project选项中选择 新建工程 

 

2.2 然后选择刚刚新建的文件夹。然后给工程命名,工程名与文件夹尽量一致且有具体意义

 

2.3 然后进入芯片选择,我们使用的芯片为stm32F103R8T6

 

2.4 选择需要使用的芯片功能,

在这么多选项中core、startup、rcc、framework这四个是必选项

在device的stdperiph drivers选项卡中其他的是选择具体需要的外设,

点亮led和读取按键只需要选择GPIO就可以

 

3.新建文件

3.1 添加一个新文件(快捷键 Ctrl+N)点击  feil->new  ,然后保存(快捷键 Ctrl+S)

在工程文件夹下面新建一个user文件夹,把所有用户文件放到这个文件夹里面

3.2 添加文件到工程里面

点击这个图标添加文件到工程

选择刚刚新建的文件夹中所保存的文件

添加宏定义和头文件路径

在Define一栏中填写     STM32F10X_BD,USE_STDPERIPH_DRIVER

在include path  一栏中选择头文件( *.h)所在的文件夹

4.编写程序

程序如下

#include "stm32f10x.h"


void LED_Init(void);
void delay(uint16_t time);

int main()
{
	int i;
	LED_Init();
	
	//红灯闪烁5下
	for(i=0;i<10;i++)
	{
		GPIO_SetBits(GPIOC,GPIO_Pin_8);			//低电平点亮
		delay(0xa000);
		GPIO_ResetBits(GPIOC,GPIO_Pin_8);		//高电平点亮
		delay(0xa000);
	}
	
	while(1)
	{
		
		//两个小灯循环闪烁
		GPIO_SetBits(GPIOC,GPIO_Pin_0);			
		GPIO_ResetBits(GPIOC,GPIO_Pin_1);		
		delay(0xFFFF);
		GPIO_ResetBits(GPIOC,GPIO_Pin_0);
		GPIO_SetBits(GPIOC,GPIO_Pin_1);
		delay(0xFFFF);
	}
}

void LED_Init(void)
{
 
 GPIO_InitTypeDef  GPIO_InitStructure;
 	
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	 //使能PC端口时钟
	
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_8;				 //LED0-->PC.1 端口配置
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHz
 GPIO_Init(GPIOC, &GPIO_InitStructure);					 //根据设定参数初始化GPIOC.
	
 GPIO_SetBits(GPIOC,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_8); 		 //IO 输出高 电平
}


//禁止编译器优化,循环等待延时
 void delay(volatile uint16_t time)
{
	 while(time--);
}

编译代码,无错无警告则正常

        

下载

下载使用st link下载,连线如图

点击魔术棒选择下载器型号为stlink,然后点确定退出

最后点击load下载程序,如果下载失败到安装目录下安装stlink的驱动

 

我的路径:E:\Program Files\kile5\ARM\STLink\USBDriver

然后重新下载,如在还有问题去复制错误信息到百度搜索,查找解决方案

 

至此stm32新建工程完成

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值