LED.h
#ifndef __LED_H
#define __LED_H
void LED_init();
#endif
led.c
#include "led.h"
#include "stm32f10x.h"
void LED_init()
{
GPIO_InitTypeDef GPIO_InitStructA;
GPIO_InitTypeDef GPIO_InitStructD;//定义两个初始化GPIO的结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使能相关时钟
//设定初始化数据
GPIO_InitStructA.GPIO_Mode=GPIO_Mode_Out_PP;//设置推挽输出
GPIO_InitStructA.GPIO_Pin=GPIO_Pin_8;//引脚
GPIO_InitStructA.GPIO_Speed=GPIO_Speed_50MHz;//传输速度
GPIO_Init(GPIOA,&GPIO_InitStructA);//初始化
GPIO_InitStructD.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructD.GPIO_Pin=GPIO_Pin_2;
GPIO_InitStructD.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOD,&GPIO_InitStructD);
GPIO_SetBits(GPIOA,GPIO_Pin_8);
GPIO_SetBits(GPIOD,GPIO_Pin_2);//开始输入高电平表示开始默认熄灭状态
}
?main.c
#include "stm32f10x.h"
#include "delay.h"
#include"led.h"
int main()
{
delay_init();
LED_init();
while(1)
{
GPIO_SetBits(GPIOA,GPIO_Pin_8);
GPIO_SetBits(GPIOD,GPIO_Pin_2);
delay_ms(500);
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
GPIO_ResetBits(GPIOD,GPIO_Pin_2);
delay_ms(500);
}
}
主要是这两个代码,main函数里面先初始化LED然后再对相关引脚进行操作。
|