gpio.h:
#ifndef __LED_H__
#define __LED_H__
//防止头文件重复包含
//LED1-->PE10
//LED2-->PF10
//LED3-->PE8
//RCC_MP_AHB4ENSETR寄存器封装
#define RCC_MP_AHB4ENSETR (*(volatile unsigned int*)0x50000A28)
//GPIO使用结构体封装
typedef struct{
volatile unsigned int MODER;
volatile unsigned int OTYPER;
volatile unsigned int OSPEEDR;
volatile unsigned int PUPDR;
volatile unsigned int IDR;
volatile unsigned int ODR;
}gpio_t;
#define GPIOE ((gpio_t*)0x50006000)
#define GPIOF ((gpio_t*)0x50007000)
//LED1-->PE10
//封装初始化函数
void LED1_RCC_GPIO_INIT();
//LED1点亮函数
void LED1_ON();
//LED1熄灭函数
void LED1_OFF();
#define GPIO_PIN_0 0
#define GPIO_PIN_1 1
#define GPIO_PIN_2 2
#define GPIO_PIN_3 3
#define GPIO_PIN_4 4
#define GPIO_PIN_5 5
//使用枚举封装MODER模式寄存器
typedef enum{
INPUT, //输入 0
OUTPUT, //输出 1
ALT, //复用 2
ANALOG //模拟 3
}gpio_moder_t;
//使用枚举封装OTYPER寄存器
typedef enum{
PP, //推挽
OD //开漏
}gpio_otyper_t;
//使用枚举封装OSPEEDR寄存器
typedef enum{
L