STM32固件库点灯

上篇文章记录了寄存器位操作电灯方式,这篇记录下固件库模板点灯,提高程序的可观性。

固件库模板下载

点我下载
提取码: vq2u

创建bsp_led.c bsp_led.h文件,并添加至工程

下载好模板后在user文件夹中创建led文件夹,然后在里面创建bep_led.c bsp_led.h 文件。如下图:
在这里插入图片描述
打开工程,双击USER将bsp_led.c添加至工程中
在这里插入图片描述

编写代码

bsp_led.c使能GPIOC的时钟

	RCC_APB2PeriphClockCmd( LED_D2_GPIO_LCK,  ENABLE);

实例化GPIO_InitTypeDef结构体

	PIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Pin = LED_D2_GPIO_PIN;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOC, &GPIO_InitStruct);

bsp_led.h宏定义以及函数的声明

	#ifndef _BSP_LED_H
	#define _BSP_LED_H
	
	#include "stm32f10x.h"
	#define LED_D2_GPIO_PIN				GPIO_Pin_13
	#define LED_D2_GPIO_PORT			GPIOC
	#define LED_D2_GPIO_LCK				RCC_APB2Periph_GPIOC
	
	#define  ON				1
	#define  OFF			0
	
	#define		LED_D2(a)		if(a) \
														GPIO_ResetBits( LED_D2_GPIO_PORT,  LED_D2_GPIO_PIN);\
											else GPIO_SetBits(LED_D2_GPIO_PORT, LED_D2_GPIO_PIN);
	
	void LED_GPIO_Config(void);

main.c 函数调用、拉高拉低电平

	LED_GPIO_Config();

	GPIO_ResetBits( LED_D2_GPIO_PORT,  LED_D2_GPIO_PIN);	//拉低
	GPIO_SetBits(LED_D2_GPIO_PORT, LED_D2_GPIO_PIN);//拉高
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值