| 
 
| #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_ */
 | 
 |