本帖最后由 青空之狼 于 2015-12-31 08:42 编辑
1.安装MDK5.14
2.下载STM32L1xx_StdPeriph_Lib_V1.3.1固件库,官网有这里就不说了,解压后如下:
3.新建template文件夹并在其下创建四个文件夹,如下:
4.将STM32L1xx_StdPeriph_Lib_V1.3.1\Libraries\STM32L1xx_StdPeriph_Driver文件夹下inc 、src文件夹复制到STM32L1xx_Lib
5.将STM32L1xx_StdPeriph_Lib_V1.3.1\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm文件夹下startup_stm32l1xx_mdp.s文件复制到CORE文件夹
6将STM32L1xx_StdPeriph_Lib_V1.3.1\Libraries\CMSIS\Include文件夹下的下列选中文件复制到CORE文件夹下
7.最后CORE文件夹中如下图:
8.将STM32L1xx_StdPeriph_Lib_V1.3.1\Libraries\CMSIS\Device\ST\STM32L1xx\Include文件夹下列文件复制到USER文件夹
9.最后将STM32L1xx_StdPeriph_Lib_V1.3.1\Project\STM32L1xx_StdPeriph_Templates文件夹下文件复制到USER文件夹
10.新建工程并保存到USER文件夹下
11.选择相应芯片
12点击图标进行设置并添加文件
13.target保持默认值
14.Output页面可配置编译输出文件目录和输出信息,点击select folder for objects,选择在template目录下的OBJ目录
15.C/C++配置为最重要的配置,定义了USE_STDPERIPH_DRIVER,STM32L1XX_MDP,并且包含相关头文件路径
如图设置debug
最后,编辑main.c文件,如下#include "stm32l1xx.h"
#include "system_stm32l1xx.h"
#include "stm32l1xx_rcc.h"
#include "stm32l1xx_gpio.h"
void LED_Init(void);
int main()
{
uint8_t led_f = 0;
LED_Init();
while(1)
{
if(led_f == 0){
GPIO_SetBits(GPIOB,GPIO_Pin_7);
led_f =1;
}else{
GPIO_ResetBits(GPIOB,GPIO_Pin_7);
led_f =0;
}
}
}
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE);//使能PB口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;//端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//设置为输出
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//设置为推挽输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//配置为非上拉
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;//IO口速度40MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PB6 PB7
}
|