Added the IO_Toggle and discovery demo samples including a working make
[fw/stlink] / exampleF4 / Projects / IO_Toggle / stm32f4_discovery.h
1 /**
2   ******************************************************************************
3   * @file    stm32f4_discovery.h
4   * @author  MCD Application Team
5   * @version V1.0.0
6   * @date    19-September-2011
7   * @brief   This file contains definitions for STM32F4-Discovery Kit's Leds and 
8   *          push-button hardware resources.
9   ******************************************************************************
10   * @attention
11   *
12   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
13   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
14   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
15   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
16   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
17   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
18   *
19   * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
20   ******************************************************************************  
21   */ 
22   
23 /* Define to prevent recursive inclusion -------------------------------------*/
24 #ifndef __STM32F4_DISCOVERY_H
25 #define __STM32F4_DISCOVERY_H
26
27 #ifdef __cplusplus
28  extern "C" {
29 #endif
30                                               
31 /* Includes ------------------------------------------------------------------*/
32  #include "stm32f4xx.h"
33    
34 /** @addtogroup Utilities
35   * @{
36   */
37   
38 /** @addtogroup STM32F4_DISCOVERY
39   * @{
40   */
41       
42 /** @addtogroup STM32F4_DISCOVERY_LOW_LEVEL
43   * @{
44   */ 
45
46 /** @defgroup STM32F4_DISCOVERY_LOW_LEVEL_Exported_Types
47   * @{
48   */
49 typedef enum 
50 {
51   LED4 = 0,
52   LED3 = 1,
53   LED5 = 2,
54   LED6 = 3
55 } Led_TypeDef;
56
57 typedef enum 
58 {  
59   BUTTON_USER = 0,
60 } Button_TypeDef;
61
62 typedef enum 
63 {  
64   BUTTON_MODE_GPIO = 0,
65   BUTTON_MODE_EXTI = 1
66 } ButtonMode_TypeDef;     
67 /**
68   * @}
69   */ 
70
71 /** @defgroup STM32F4_DISCOVERY_LOW_LEVEL_Exported_Constants
72   * @{
73   */ 
74
75 /** @addtogroup STM32F4_DISCOVERY_LOW_LEVEL_LED
76   * @{
77   */
78 #define LEDn                             4
79
80 #define LED4_PIN                         GPIO_Pin_12
81 #define LED4_GPIO_PORT                   GPIOD
82 #define LED4_GPIO_CLK                    RCC_AHB1Periph_GPIOD  
83   
84 #define LED3_PIN                         GPIO_Pin_13
85 #define LED3_GPIO_PORT                   GPIOD
86 #define LED3_GPIO_CLK                    RCC_AHB1Periph_GPIOD  
87   
88 #define LED5_PIN                         GPIO_Pin_14
89 #define LED5_GPIO_PORT                   GPIOD
90 #define LED5_GPIO_CLK                    RCC_AHB1Periph_GPIOD  
91   
92 #define LED6_PIN                         GPIO_Pin_15
93 #define LED6_GPIO_PORT                   GPIOD
94 #define LED6_GPIO_CLK                    RCC_AHB1Periph_GPIOD
95 /**
96   * @}
97   */ 
98   
99 /** @addtogroup STM32F4_DISCOVERY_LOW_LEVEL_BUTTON
100   * @{
101   */  
102 #define BUTTONn                          1  
103
104 /**
105  * @brief Wakeup push-button
106  */
107 #define USER_BUTTON_PIN                GPIO_Pin_0
108 #define USER_BUTTON_GPIO_PORT          GPIOA
109 #define USER_BUTTON_GPIO_CLK           RCC_AHB1Periph_GPIOA
110 #define USER_BUTTON_EXTI_LINE          EXTI_Line0
111 #define USER_BUTTON_EXTI_PORT_SOURCE   EXTI_PortSourceGPIOA
112 #define USER_BUTTON_EXTI_PIN_SOURCE    EXTI_PinSource0
113 #define USER_BUTTON_EXTI_IRQn          EXTI0_IRQn 
114 /**
115   * @}
116   */ 
117   
118 /** @defgroup STM32F4_DISCOVERY_LOW_LEVEL_Exported_Macros
119   * @{
120   */  
121 /**
122   * @}
123   */ 
124
125
126 /** @defgroup STM32F4_DISCOVERY_LOW_LEVEL_Exported_Functions
127   * @{
128   */
129 void STM_EVAL_LEDInit(Led_TypeDef Led);
130 void STM_EVAL_LEDOn(Led_TypeDef Led);
131 void STM_EVAL_LEDOff(Led_TypeDef Led);
132 void STM_EVAL_LEDToggle(Led_TypeDef Led);
133 void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
134 uint32_t STM_EVAL_PBGetState(Button_TypeDef Button);
135 /**
136   * @}
137   */
138   
139 #ifdef __cplusplus
140 }
141 #endif
142
143 #endif /* __STM32F4_DISCOVERY_H */
144 /**
145   * @}
146   */ 
147
148 /**
149   * @}
150   */ 
151
152 /**
153   * @}
154   */
155
156  
157
158 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/