#ifndef __BSP_LED_
#define __BSP_LED_
#include <MM32x103.h> // 这个换成STM32的库文件就行
#include &quot;type.h&quot; // 这个文件就是重定义了一些数据类型,博客里面有
//==================================================================================
#define LED1_RUN_GRP GPIOC
#define LED1_RUN_IDX GPIO_Pin_6
#define LED1_RUN_OFF() GPIO_ResetBits(LED1_RUN_GRP, LED1_RUN_IDX)
#define LED1_RUN_ON() GPIO_SetBits(LED1_RUN_GRP, LED1_RUN_IDX)
#define LED1_RUN_IS_OFF() GPIO_ReadOutputDataBit(LED1_RUN_GRP, LED1_RUN_IDX)
#define LED2_RUN_GRP GPIOA
#define LED2_RUN_IDX GPIO_Pin_11
#define LED2_RUN_OFF() GPIO_ResetBits(LED2_RUN_GRP, LED2_RUN_IDX)
#define LED2_RUN_ON() GPIO_SetBits(LED2_RUN_GRP, LED2_RUN_IDX)
#define LED2_RUN_IS_OFF() GPIO_ReadOutputDataBit(LED2_RUN_GRP, LED2_RUN_IDX)
#define LED3_RUN_GRP GPIOA
#define LED3_RUN_IDX GPIO_Pin_12
#define LED3_RUN_OFF() GPIO_ResetBits(LED3_RUN_GRP, LED3_RUN_IDX)
#define LED3_RUN_ON() GPIO_SetBits(LED3_RUN_GRP, LED3_RUN_IDX)
#define LED3_RUN_IS_OFF() GPIO_ReadOutputDataBit(LED3_RUN_GRP, LED3_RUN_IDX)
//==================================================================================
#define LED_COUNT 3 // LED个数自己定义
typedef enum
{
RED = 0x04,
GREEN = 0x02,
BLUE = 0x01
} led_t;
typedef struct
{
GPIO_TypeDef *GPIOx;
uint32_t pos;
} led_port_t;
//==================================================================================
void GPIOConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIOMode_TypeDef GPIO_Mode);
void LEDConfig((uint8_t value) // value:1/2/4 --- RED GREEN BLUE
void LEDSet(uint8_t value);
void LEDReset(uint8_t value);
void LEDToggle(uint8_t value);
#endif /* __BSP_LED_ */ |