led.h
#ifndef __LED_H
#define __LED_H
#include "stm32f10x.h"
void LED_Init(void); //????
#define LED1 GPIO_Pin_0
#endif //宏定义,免去重复定义;
led.c
#include "led.h"
void LED_Init(void)
{
//声明一个结构体
GPIO_InitTypeDef GPIO_InitStruct;
//开启外设始终 GPIOB h和 GPIOE
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
//结构体成员变量的初始化
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0; //选择端口号
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; //选择IO工作模式,(推挽输出模式)
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; //设置端口输出速度(只有2/10/50)
//选择设置的io端口号
GPIO_Init(GPIOB, &GPIO_InitStruct);
}
main.c
#include "stm32f10x.h"
#include "led.h"
void Delay( uint32_t count)
{
for(;count!=0;count--);
}
int main()
{
LED_Init(); //led灯初始化
while(1)
{
GPIO_WriteBit(GPIOB,LED1,(BitAction)(0));
Delay(5);
GPIO_WriteBit(GPIOB,LED1,(BitAction)(1));
Delay(5);
}
}