#ifndef __LED_H
#define	__LED_H
#include "stm32f2xx.h"
//引脚定义
/******************** A_LED ********************/

#define A_LED1_PIN   			   	 GPIO_Pin_4
#define A_LED1_GPIO_PORT       GPIOB                      
#define A_LED1_GPIO_CLK        RCC_AHB1Periph_GPIOB

#define A_LED2_PIN   					 GPIO_Pin_10
#define A_LED2_GPIO_PORT       GPIOG                     
#define A_LED2_GPIO_CLK        RCC_AHB1Periph_GPIOG
 
#define A_LED3_PIN   					 GPIO_Pin_9
#define A_LED3_GPIO_PORT       GPIOG                     
#define A_LED3_GPIO_CLK        RCC_AHB1Periph_GPIOG

#define A_LED4_PIN   					 GPIO_Pin_6
#define A_LED4_GPIO_PORT       GPIOD                      
#define A_LED4_GPIO_CLK        RCC_AHB1Periph_GPIOD

#define A_LED5_PIN   					 GPIO_Pin_4
#define A_LED5_GPIO_PORT       GPIOD                      
#define A_LED5_GPIO_CLK        RCC_AHB1Periph_GPIOD

#define A_LED6_PIN   					 GPIO_Pin_3
#define A_LED6_GPIO_PORT       GPIOD                     
#define A_LED6_GPIO_CLK        RCC_AHB1Periph_GPIOD

#define A_LED7_PIN   					 GPIO_Pin_1
#define A_LED7_GPIO_PORT       GPIOD                      
#define A_LED7_GPIO_CLK        RCC_AHB1Periph_GPIOD

#define A_LED8_PIN   					 GPIO_Pin_12
#define A_LED8_GPIO_PORT       GPIOC                      
#define A_LED8_GPIO_CLK        RCC_AHB1Periph_GPIOC

#define A_LED9_PIN   					 GPIO_Pin_10
#define A_LED9_GPIO_PORT       GPIOC                     
#define A_LED9_GPIO_CLK        RCC_AHB1Periph_GPIOC

#define A_LED10_PIN   				 GPIO_Pin_5
#define A_LED10_GPIO_PORT      GPIOB                      
#define A_LED10_GPIO_CLK       RCC_AHB1Periph_GPIOB

#define A_LED11_PIN   				 GPIO_Pin_11
#define A_LED11_GPIO_PORT      GPIOG                      
#define A_LED11_GPIO_CLK       RCC_AHB1Periph_GPIOG

#define A_LED12_PIN   				 GPIO_Pin_3
#define A_LED12_GPIO_PORT      GPIOB                      
#define A_LED12_GPIO_CLK       RCC_AHB1Periph_GPIOB

#define A_LED13_PIN   				 GPIO_Pin_7
#define A_LED13_GPIO_PORT      GPIOD                      
#define A_LED13_GPIO_CLK       RCC_AHB1Periph_GPIOD

#define A_LED14_PIN   				 GPIO_Pin_5
#define A_LED14_GPIO_PORT      GPIOD                      
#define A_LED14_GPIO_CLK       RCC_AHB1Periph_GPIOD

#define A_LED15_PIN   				 GPIO_Pin_2
#define A_LED15_GPIO_PORT      GPIOD                      
#define A_LED15_GPIO_CLK       RCC_AHB1Periph_GPIOD

#define A_LED16_PIN   				 GPIO_Pin_0
#define A_LED16_GPIO_PORT      GPIOD                    
#define A_LED16_GPIO_CLK       RCC_AHB1Periph_GPIOD

#define A_LED17_PIN   			  	GPIO_Pin_11
#define A_LED17_GPIO_PORT       GPIOC                      
#define A_LED17_GPIO_CLK        RCC_AHB1Periph_GPIOC

#define A_LED18_PIN   					GPIO_Pin_15
#define A_LED18_GPIO_PORT     	GPIOA                      
#define A_LED18_GPIO_CLK      	RCC_AHB1Periph_GPIOA

/******************** B_LED ********************/

#define B_LED1_PIN   					 GPIO_Pin_5
#define B_LED1_GPIO_PORT       GPIOC                      
#define B_LED1_GPIO_CLK        RCC_AHB1Periph_GPIOC

#define B_LED2_PIN   					 GPIO_Pin_3
#define B_LED2_GPIO_PORT       GPIOA                      
#define B_LED2_GPIO_CLK        RCC_AHB1Periph_GPIOA
 
#define B_LED3_PIN   					 GPIO_Pin_1
#define B_LED3_GPIO_PORT       GPIOA                      
#define B_LED3_GPIO_CLK        RCC_AHB1Periph_GPIOA

#define B_LED4_PIN   					 GPIO_Pin_3
#define B_LED4_GPIO_PORT       GPIOC                     
#define B_LED4_GPIO_CLK        RCC_AHB1Periph_GPIOC

#define B_LED5_PIN   					 GPIO_Pin_10
#define B_LED5_GPIO_PORT       GPIOF               
#define B_LED5_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define B_LED6_PIN   					 GPIO_Pin_6
#define B_LED6_GPIO_PORT       GPIOF                      
#define B_LED6_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define B_LED7_PIN   					 GPIO_Pin_2
#define B_LED7_GPIO_PORT       GPIOF                      
#define B_LED7_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define B_LED8_PIN   					 GPIO_Pin_14
#define B_LED8_GPIO_PORT       GPIOC                      
#define B_LED8_GPIO_CLK        RCC_AHB1Periph_GPIOC

#define B_LED9_PIN   					 GPIO_Pin_5
#define B_LED9_GPIO_PORT       GPIOE                      
#define B_LED9_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define B_LED10_PIN   				 GPIO_Pin_0
#define B_LED10_GPIO_PORT      GPIOB                      
#define B_LED10_GPIO_CLK       RCC_AHB1Periph_GPIOB

#define B_LED11_PIN   				 GPIO_Pin_4
#define B_LED11_GPIO_PORT      GPIOC                     
#define B_LED11_GPIO_CLK       RCC_AHB1Periph_GPIOC

#define B_LED12_PIN   				 GPIO_Pin_2
#define B_LED12_GPIO_PORT      GPIOA                      
#define B_LED12_GPIO_CLK       RCC_AHB1Periph_GPIOA

#define B_LED13_PIN   				 GPIO_Pin_0
#define B_LED13_GPIO_PORT      GPIOA                  
#define B_LED13_GPIO_CLK       RCC_AHB1Periph_GPIOA

#define B_LED14_PIN   				 GPIO_Pin_0
#define B_LED14_GPIO_PORT      GPIOC                      
#define B_LED14_GPIO_CLK       RCC_AHB1Periph_GPIOC

#define B_LED15_PIN   				 GPIO_Pin_7
#define B_LED15_GPIO_PORT      GPIOF                      
#define B_LED15_GPIO_CLK       RCC_AHB1Periph_GPIOF	

#define B_LED16_PIN   				 GPIO_Pin_3
#define B_LED16_GPIO_PORT      GPIOF                      
#define B_LED16_GPIO_CLK       RCC_AHB1Periph_GPIOF

#define B_LED17_PIN   				 GPIO_Pin_15
#define B_LED17_GPIO_PORT      GPIOC                      
#define B_LED17_GPIO_CLK       RCC_AHB1Periph_GPIOC

#define B_LED18_PIN   				 GPIO_Pin_13
#define B_LED18_GPIO_PORT      GPIOC                     
#define B_LED18_GPIO_CLK       RCC_AHB1Periph_GPIOC


/******************** C_LED ********************/
#define C_LED1_PIN   					 GPIO_Pin_15
#define C_LED1_GPIO_PORT       GPIOE                      
#define C_LED1_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define C_LED2_PIN   					 GPIO_Pin_13
#define C_LED2_GPIO_PORT       GPIOE                      
#define C_LED2_GPIO_CLK        RCC_AHB1Periph_GPIOE
 
#define C_LED3_PIN   					 GPIO_Pin_11
#define C_LED3_GPIO_PORT       GPIOE                      
#define C_LED3_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define C_LED4_PIN   					 GPIO_Pin_9
#define C_LED4_GPIO_PORT       GPIOE                      
#define C_LED4_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define C_LED5_PIN   					 GPIO_Pin_7
#define C_LED5_GPIO_PORT       GPIOE               
#define C_LED5_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define C_LED6_PIN   					 GPIO_Pin_15
#define C_LED6_GPIO_PORT       GPIOF                      
#define C_LED6_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define C_LED7_PIN   					 GPIO_Pin_13
#define C_LED7_GPIO_PORT       GPIOF                      
#define C_LED7_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define C_LED8_PIN   					 GPIO_Pin_11
#define C_LED8_GPIO_PORT       GPIOF                      
#define C_LED8_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define C_LED9_PIN   					 GPIO_Pin_1
#define C_LED9_GPIO_PORT       GPIOB                      
#define C_LED9_GPIO_CLK        RCC_AHB1Periph_GPIOB

#define C_LED10_PIN   				 GPIO_Pin_10
#define C_LED10_GPIO_PORT      GPIOB                     
#define C_LED10_GPIO_CLK       RCC_AHB1Periph_GPIOB

#define C_LED11_PIN   				 GPIO_Pin_14
#define C_LED11_GPIO_PORT      GPIOE                      
#define C_LED11_GPIO_CLK       RCC_AHB1Periph_GPIOE

#define C_LED12_PIN   				 GPIO_Pin_12
#define C_LED12_GPIO_PORT      GPIOE                      
#define C_LED12_GPIO_CLK       RCC_AHB1Periph_GPIOE

#define C_LED13_PIN   				 GPIO_Pin_10
#define C_LED13_GPIO_PORT      GPIOE                  
#define C_LED13_GPIO_CLK       RCC_AHB1Periph_GPIOE

#define C_LED14_PIN   				 GPIO_Pin_8
#define C_LED14_GPIO_PORT      GPIOE                     
#define C_LED14_GPIO_CLK       RCC_AHB1Periph_GPIOE

#define C_LED15_PIN   				 GPIO_Pin_0
#define C_LED15_GPIO_PORT      GPIOG                      
#define C_LED15_GPIO_CLK       RCC_AHB1Periph_GPIOG

#define C_LED16_PIN   				 GPIO_Pin_14
#define C_LED16_GPIO_PORT      GPIOF                     
#define C_LED16_GPIO_CLK       RCC_AHB1Periph_GPIOF

#define C_LED17_PIN   				 GPIO_Pin_12
#define C_LED17_GPIO_PORT      GPIOF                      
#define C_LED17_GPIO_CLK       RCC_AHB1Periph_GPIOF

#define C_LED18_PIN   				 GPIO_Pin_2
#define C_LED18_GPIO_PORT      GPIOB                      
#define C_LED18_GPIO_CLK       RCC_AHB1Periph_GPIOB


/******************** D_LED ********************/
#define D_LED1_PIN   					 GPIO_Pin_1
#define D_LED1_GPIO_PORT       GPIOC                      
#define D_LED1_GPIO_CLK        RCC_AHB1Periph_GPIOC

#define D_LED2_PIN   					 GPIO_Pin_8
#define D_LED2_GPIO_PORT       GPIOF                      
#define D_LED2_GPIO_CLK        RCC_AHB1Periph_GPIOF
 
#define D_LED3_PIN   					 GPIO_Pin_4
#define D_LED3_GPIO_PORT       GPIOF                      
#define D_LED3_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define D_LED4_PIN   					 GPIO_Pin_0
#define D_LED4_GPIO_PORT       GPIOF                      
#define D_LED4_GPIO_CLK        RCC_AHB1Periph_GPIOF

#define D_LED5_PIN   					 GPIO_Pin_4
#define D_LED5_GPIO_PORT       GPIOE              
#define D_LED5_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define D_LED6_PIN   					 GPIO_Pin_2
#define D_LED6_GPIO_PORT       GPIOE                      
#define D_LED6_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define D_LED7_PIN   					 GPIO_Pin_0
#define D_LED7_GPIO_PORT       GPIOE                      
#define D_LED7_GPIO_CLK        RCC_AHB1Periph_GPIOE

#define D_LED8_PIN   					 GPIO_Pin_8
#define D_LED8_GPIO_PORT       GPIOB                      
#define D_LED8_GPIO_CLK        RCC_AHB1Periph_GPIOB

#define D_LED9_PIN   					 GPIO_Pin_7
#define D_LED9_GPIO_PORT       GPIOB                      
#define D_LED9_GPIO_CLK        RCC_AHB1Periph_GPIOB

#define D_LED10_PIN   				 GPIO_Pin_2
#define D_LED10_GPIO_PORT      GPIOC                    
#define D_LED10_GPIO_CLK       RCC_AHB1Periph_GPIOC

#define D_LED11_PIN   				 GPIO_Pin_9
#define D_LED11_GPIO_PORT      GPIOF                     
#define D_LED11_GPIO_CLK       RCC_AHB1Periph_GPIOF

#define D_LED12_PIN   				 GPIO_Pin_5
#define D_LED12_GPIO_PORT      GPIOF                     
#define D_LED12_GPIO_CLK       RCC_AHB1Periph_GPIOF

#define D_LED13_PIN   				 GPIO_Pin_1
#define D_LED13_GPIO_PORT      GPIOF                 
#define D_LED13_GPIO_CLK       RCC_AHB1Periph_GPIOF

#define D_LED14_PIN   				 GPIO_Pin_6
#define D_LED14_GPIO_PORT      GPIOE                    
#define D_LED14_GPIO_CLK       RCC_AHB1Periph_GPIOE

#define D_LED15_PIN   				 GPIO_Pin_3
#define D_LED15_GPIO_PORT      GPIOE                    
#define D_LED15_GPIO_CLK       RCC_AHB1Periph_GPIOE

#define D_LED16_PIN   				 GPIO_Pin_1
#define D_LED16_GPIO_PORT      GPIOE                     
#define D_LED16_GPIO_CLK       RCC_AHB1Periph_GPIOE

#define D_LED17_PIN   				 GPIO_Pin_9
#define D_LED17_GPIO_PORT      GPIOB                    
#define D_LED17_GPIO_CLK       RCC_AHB1Periph_GPIOB

#define D_LED18_PIN   				 GPIO_Pin_6
#define D_LED18_GPIO_PORT      GPIOB                     
#define D_LED18_GPIO_CLK       RCC_AHB1Periph_GPIOB
/************************************************************/

void LED_GPIO_Config(void);


void led(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t a);

/** 控制LED灯亮灭的宏，
	* LED低电平亮，设置ON=0，OFF=1
	* 若LED高电平亮，把宏设置成ON=1 ，OFF=0 即可
	*/
#define ON  1
#define OFF 0
										

uint8_t all_whilte_light(uint8_t cmd);
uint8_t all_green_light(uint8_t cmd);
uint8_t all_red_light(uint8_t cmd);
uint8_t all_yellow_light(uint8_t cmd);
uint8_t all_light(uint8_t cmd);	


		
#endif

