stm32点亮LED二(固件库版)

上一章配置好了环境,就可以写程序了

配置GPIO口有如下几个步骤

  1. 时钟使能,也就是rcc使能(stm32默认是关闭)
  2. 选择引脚
  3. 选择引脚模式
  4. 配置输出状态
  5. 设置速度
  6. 初始化引脚

首先在led.h写如下程序

#ifndef __led_h
#define __led_h

#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

void led_pin_config(void);

#endif

然后在led.c写

#include "stm32f10x.h"

void led_pin_config(void)
{
	GPIO_InitTypeDef ledPin; //将stm32f10x_gpio.h中gpio初始化结构体定义为ledpin
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启A口时钟 在stm32f10x_rcc.c可找到定义


	//下面的函数均可在stm32f10x_gpio.h找到相关定义
	ledPin.GPIO_Pin = GPIO_Pin_0;	//A0口
	ledPin.GPIO_Mode = GPIO_Mode_Out_PP; //模式为输出,推挽模式,相关枚举都在这个头文件
	ledPin.GPIO_Speed = GPIO_Speed_2MHz; //切换速度为2MH,对于点灯来说,无所谓
	
	GPIO_Init(GPIOA, &ledPin);    //初始化引脚
	
}

最后main.c写

#include "stm32f10x.h"
#include "led.h"

int main(void)
{
	led_pin_config();
	GPIO_SetBits(GPIOA, GPIO_Pin_0); //小灯正极接A0,负极接GND,故给高电平
	while(1);
}

效果如下

发布了25 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/little_engineer/article/details/81268241
今日推荐