TOC
LED0
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能APB2的外设时钟
GPIO_InitTypeDef GPIO_Initstructure;
GPIO_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP;//通用推挽输出
GPIO_Initstructure.GPIO_Pin = GPIO_Pin_5;
GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_Initstructure);//配置端口模式
GPIO_SetBits(GPIOB,GPIO_Pin_5);//关闭LED灯
LED1
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//使能APB2的外设时钟
GPIO_InitTypeDef GPIO_Initstructure;
GPIO_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP;//通用推挽输出
GPIO_Initstructure.GPIO_Pin = GPIO_Pin_5;
GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE,&GPIO_Initstructure);//配置端口模式
GPIO_SetBits(GPIOE,GPIO_Pin_5);//关闭LED灯
Periph---------Peripherals—[pəˈrɪfərəlz]—外设
Hardware中添加LED.C和LED.h文件
LED.h文件中,添加一段防止头文件重复的代码
LED.h
#ifndef __LED_H
#define __LED_H
void LED1_Init(void);
void LED0_Init(void);
void LED1_On(void);
void LED1_Off(void);
void LED1_Turn(void);
void LED0_On(void);
void LED0_Off(void);
void LED0_Turn(void);
#endif
注意最后一行空
LED.c
LED.C 文件中,右键添加“stm32f10x.h”头文件
#include "stm32f10x.h" // Device header
void LED1_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
GPIO_InitTypeDef GPIO_Initstructure;
GPIO_Initstructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Initstructure.GPIO_Pin=GPIO_Pin_5;
GPIO_Initstructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOE,&GPIO_Initstructure);
GPIO_SetBits(GPIOE,GPIO_Pin_5);
}
void LED0_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitTypeDef GPIO_Initstructure;
GPIO_Initstructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Initstructure.GPIO_Pin=GPIO_Pin_5;
GPIO_Initstructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_Initstructure);
GPIO_SetBits(GPIOB,GPIO_Pin_5);
}
void LED1_On(void)
{
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
}
void LED1_Off(void)
{
GPIO_SetBits(GPIOE,GPIO_Pin_5);
}
void LED1_Turn(void)
{
if(GPIO_ReadOutputDataBit(GPIOE,GPIO_Pin_5) == 1)
{
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
}
else
{
GPIO_SetBits(GPIOE,GPIO_Pin_5);
}
}
void LED0_On(void)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
}
void LED0_Off(void)
{
GPIO_SetBits(GPIOB,GPIO_Pin_5);
}
void LED0_Turn(void)
{
if(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_5) == 1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
}
else
{
GPIO_SetBits(GPIOB,GPIO_Pin_5);
}
}