STM32学习心得(二)点亮LED灯

STM32学习心得(二)点亮LED灯
在创建好工程模板后,就可以开始真正进入STM32的学习。手下那当然是试着点亮一个LED灯。
首先在USER目录下创建一个空文件夹,并命名为bsp_led(bsp的意思是板级支持包,即该代码仅支持这块板子),进去文件夹,新建两个文件,分别是bsp_led.c以及bsp_led.h
打开工程,把.c文件添加进工程中,同时在路径中设置好.h文件的路径
STM32学习心得(二)点亮LED灯_第1张图片
工程建立完成后,双击打开bsp_led.h,在文件中写入以下宏定义

#ifndef __BSP_LED_H
#define __BSP_LED_H

#include"stm32f10x.h"

#define LED_G_GPIO_PIN        GPIO_Pin_0  //定义绿色灯所在的引脚
#define LED_G_GPIO_PORT       GPIOB 
#define LED_G_GPIO_CLK        RCC_APB2Periph_GPIOB


void LED_GPIO_CONFIG(void);

#endif

然后打开bsp_led.c文件,写入以下代码

// bsp: board support package 板级支持包
//即该程序只支持这块板子,不支持别的板子

#include "bsp_led.h"

void LED_GPIO_CONFIG(void)
{
  //第一步:新建一个初始化的结构体
	GPIO_InitTypeDef GPIO_InitStruct;
	
	//向结构体内添加成员参数
	GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//设置为推挽输出
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	
	//第二步:调用stm32f10x_gpio.c中的初始化函数
	//第一个参数为要设置的端口名,第二个参数为上述定义中的结构体指针
	GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);
	
	//第三步打开时钟,找到RCC固件库中对应的函数
	//第一个参数为要配置的引脚,第二个为使能DISABLE/ENABLE
	RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);
}

最后进入main.c文件,写入

#include "stm32f10x.h"

#include"bsp_led.h"

int main(void)
{
	while(1)
	 {
	LED_GPIO_CONFIG();
	//GPIO_SetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN);
	//GPIO_ResetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN);
	}
}

编译后下载进板子里,over

你可能感兴趣的:(STM32学习)