代码中LED低电平驱动,io口是PB|E5;
头文件 me.h
#ifndef __ME_H
#define __ME_H
#define PE5outH GPIO_SetBits(GPIOE,GPIO_Pin_5) //PE5 out H
#define PB5outH GPIO_SetBits(GPIOB,GPIO_Pin_5) //
#define PE5outL GPIO_ResetBits(GPIOE,GPIO_Pin_5) //PE5 out L
#define PB5outL GPIO_ResetBits(GPIOB,GPIO_Pin_5) //
void led_init(void);
#endif
me.c
#include"me.h"
#include"stm32f10x.h"
void led_init(void)
{
GPIO_InitTypeDef GPIO_InitLED;//定义一个结构体变量
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);//时钟使能函数 使能B|E组io口时钟
GPIO_InitLED.GPIO_Mode=GPIO_Mode_Out_PP; //输出模式 推挽输出
GPIO_InitLED.GPIO_Pin=GPIO_Pin_5; //哪个引脚
GPIO_InitLED.GPIO_Speed=GPIO_Speed_50MHz;//速度
GPIO_Init(GPIOB,&GPIO_InitLED); //初始化PB5
GPIO_InitLED.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitLED.GPIO_Pin=GPIO_Pin_5;
GPIO_InitLED.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOE,&GPIO_InitLED);
}
main.c
#include"stm32f10x.h"
#include"me.h"
#include"delay.h"
int main(void)
{
led_init();
delay_init();
while(1)
{
PE5outH;
PB5outH;
delay_ms(1000);
PE5outL;
PB5outL;
delay_ms(1000);
}
}
拿走随便用兄弟们