]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M0_STM32F0518_IAR/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_syscfg.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_M0_STM32F0518_IAR / Libraries / STM32F0xx_StdPeriph_Driver / inc / stm32f0xx_syscfg.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f0xx_syscfg.h\r
4   * @author  MCD Application Team\r
5   * @version V1.0.0RC1\r
6   * @date    27-January-2012\r
7   * @brief   This file contains all the functions prototypes for the SYSCFG firmware \r
8   *          library.\r
9   ******************************************************************************\r
10   * @attention\r
11   *\r
12   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
14   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
15   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
16   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
17   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18   *\r
19   * FOR MORE INFORMATION PLEASE READ CAREFULLY THE LICENSE AGREEMENT FILE\r
20   * LOCATED IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.\r
21   *\r
22   * <h2><center>&copy; COPYRIGHT 2012 STMicroelectronics</center></h2>\r
23   ******************************************************************************\r
24   */\r
25 \r
26 /*!< Define to prevent recursive inclusion -------------------------------------*/\r
27 #ifndef __STM32F0XX_SYSCFG_H\r
28 #define __STM32F0XX_SYSCFG_H\r
29 \r
30 #ifdef __cplusplus\r
31  extern "C" {\r
32 #endif\r
33 \r
34 /*!< Includes ------------------------------------------------------------------*/\r
35 #include "stm32f0xx.h"\r
36 \r
37 /** @addtogroup STM32F0xx_StdPeriph_Driver\r
38   * @{\r
39   */\r
40 \r
41 /** @addtogroup SYSCFG\r
42   * @{\r
43   */\r
44 /* Exported types ------------------------------------------------------------*/\r
45 /* Exported constants --------------------------------------------------------*/\r
46 \r
47 /** @defgroup SYSCFG_Exported_Constants\r
48   * @{\r
49   */ \r
50   \r
51 /** @defgroup EXTI_Port_Sources \r
52   * @{\r
53   */ \r
54 #define EXTI_PortSourceGPIOA       ((uint8_t)0x00)\r
55 #define EXTI_PortSourceGPIOB       ((uint8_t)0x01)\r
56 #define EXTI_PortSourceGPIOC       ((uint8_t)0x02)\r
57 #define EXTI_PortSourceGPIOD       ((uint8_t)0x03)\r
58 #define EXTI_PortSourceGPIOF       ((uint8_t)0x05)\r
59 \r
60 #define IS_EXTI_PORT_SOURCE(PORTSOURCE) (((PORTSOURCE) == EXTI_PortSourceGPIOA) || \\r
61                                          ((PORTSOURCE) == EXTI_PortSourceGPIOB) || \\r
62                                          ((PORTSOURCE) == EXTI_PortSourceGPIOC) || \\r
63                                          ((PORTSOURCE) == EXTI_PortSourceGPIOD) || \\r
64                                          ((PORTSOURCE) == EXTI_PortSourceGPIOF)) \r
65 /**\r
66   * @}\r
67   */\r
68 \r
69 /** @defgroup EXTI_Pin_sources \r
70   * @{\r
71   */ \r
72 #define EXTI_PinSource0            ((uint8_t)0x00)\r
73 #define EXTI_PinSource1            ((uint8_t)0x01)\r
74 #define EXTI_PinSource2            ((uint8_t)0x02)\r
75 #define EXTI_PinSource3            ((uint8_t)0x03)\r
76 #define EXTI_PinSource4            ((uint8_t)0x04)\r
77 #define EXTI_PinSource5            ((uint8_t)0x05)\r
78 #define EXTI_PinSource6            ((uint8_t)0x06)\r
79 #define EXTI_PinSource7            ((uint8_t)0x07)\r
80 #define EXTI_PinSource8            ((uint8_t)0x08)\r
81 #define EXTI_PinSource9            ((uint8_t)0x09)\r
82 #define EXTI_PinSource10           ((uint8_t)0x0A)\r
83 #define EXTI_PinSource11           ((uint8_t)0x0B)\r
84 #define EXTI_PinSource12           ((uint8_t)0x0C)\r
85 #define EXTI_PinSource13           ((uint8_t)0x0D)\r
86 #define EXTI_PinSource14           ((uint8_t)0x0E)\r
87 #define EXTI_PinSource15           ((uint8_t)0x0F)\r
88 \r
89 #define IS_EXTI_PIN_SOURCE(PINSOURCE) (((PINSOURCE) == EXTI_PinSource0) || \\r
90                                        ((PINSOURCE) == EXTI_PinSource1) || \\r
91                                        ((PINSOURCE) == EXTI_PinSource2) || \\r
92                                        ((PINSOURCE) == EXTI_PinSource3) || \\r
93                                        ((PINSOURCE) == EXTI_PinSource4) || \\r
94                                        ((PINSOURCE) == EXTI_PinSource5) || \\r
95                                        ((PINSOURCE) == EXTI_PinSource6) || \\r
96                                        ((PINSOURCE) == EXTI_PinSource7) || \\r
97                                        ((PINSOURCE) == EXTI_PinSource8) || \\r
98                                        ((PINSOURCE) == EXTI_PinSource9) || \\r
99                                        ((PINSOURCE) == EXTI_PinSource10) || \\r
100                                        ((PINSOURCE) == EXTI_PinSource11) || \\r
101                                        ((PINSOURCE) == EXTI_PinSource12) || \\r
102                                        ((PINSOURCE) == EXTI_PinSource13) || \\r
103                                        ((PINSOURCE) == EXTI_PinSource14) || \\r
104                                        ((PINSOURCE) == EXTI_PinSource15))\r
105 /**\r
106   * @}\r
107   */\r
108 \r
109 /** @defgroup SYSCFG_Memory_Remap_Config \r
110   * @{\r
111   */ \r
112 #define SYSCFG_MemoryRemap_Flash                ((uint8_t)0x00)\r
113 #define SYSCFG_MemoryRemap_SystemMemory         ((uint8_t)0x01)\r
114 #define SYSCFG_MemoryRemap_SRAM                 ((uint8_t)0x03)\r
115 \r
116 \r
117 #define IS_SYSCFG_MEMORY_REMAP(REMAP) (((REMAP) == SYSCFG_MemoryRemap_Flash) || \\r
118                                        ((REMAP) == SYSCFG_MemoryRemap_SystemMemory) || \\r
119                                        ((REMAP) == SYSCFG_MemoryRemap_SRAM))\r
120 \r
121 /**\r
122   * @}\r
123   */\r
124 \r
125 /** @defgroup SYSCFG_DMA_Remap_Config \r
126   * @{\r
127   */ \r
128 #define SYSCFG_DMARemap_TIM17       SYSCFG_CFGR1_TIM17_DMA_RMP    /* Remap TIM17 DMA requests from channel1 to channel2 */\r
129 #define SYSCFG_DMARemap_TIM16       SYSCFG_CFGR1_TIM16_DMA_RMP    /* Remap TIM16 DMA requests from channel3 to channel4 */\r
130 #define SYSCFG_DMARemap_USART1Rx    SYSCFG_CFGR1_USART1RX_DMA_RMP /* Remap USART1 Rx DMA requests from channel3 to channel5 */\r
131 #define SYSCFG_DMARemap_USART1Tx    SYSCFG_CFGR1_USART1TX_DMA_RMP /* Remap USART1 Tx DMA requests from channel2 to channel4 */\r
132 #define SYSCFG_DMARemap_ADC1        SYSCFG_CFGR1_ADC_DMA_RMP      /* Remap ADC1 DMA requests from channel1 to channel2 */\r
133   \r
134 #define IS_SYSCFG_DMA_REMAP(REMAP) (((REMAP) == SYSCFG_DMARemap_TIM17) || \\r
135                                     ((REMAP) == SYSCFG_DMARemap_TIM16) || \\r
136                                     ((REMAP) == SYSCFG_DMARemap_USART1Rx) || \\r
137                                     ((REMAP) == SYSCFG_DMARemap_USART1Tx) || \\r
138                                     ((REMAP) == SYSCFG_DMARemap_ADC1))\r
139 \r
140 /**\r
141   * @}\r
142   */\r
143 \r
144 /** @defgroup SYSCFG_I2C_FastModePlus_Config \r
145   * @{\r
146   */ \r
147 #define SYSCFG_I2CFastModePlus_PB6       SYSCFG_CFGR1_I2C_FMP_PB6 /* Enable Fast Mode Plus on PB6 */\r
148 #define SYSCFG_I2CFastModePlus_PB7       SYSCFG_CFGR1_I2C_FMP_PB7 /* Enable Fast Mode Plus on PB7 */\r
149 #define SYSCFG_I2CFastModePlus_PB8       SYSCFG_CFGR1_I2C_FMP_PB8 /* Enable Fast Mode Plus on PB8 */\r
150 #define SYSCFG_I2CFastModePlus_PB9       SYSCFG_CFGR1_I2C_FMP_PB9 /* Enable Fast Mode Plus on PB9 */\r
151 \r
152 #define IS_SYSCFG_I2C_FMP(PIN) (((PIN) == SYSCFG_I2CFastModePlus_PB6) || \\r
153                                 ((PIN) == SYSCFG_I2CFastModePlus_PB7) || \\r
154                                 ((PIN) == SYSCFG_I2CFastModePlus_PB8) || \\r
155                                 ((PIN) == SYSCFG_I2CFastModePlus_PB9))\r
156 \r
157 /**\r
158   * @}\r
159   */\r
160 \r
161 /** @defgroup SYSCFG_Lock_Config \r
162   * @{\r
163   */ \r
164 #define SYSCFG_Break_PVD                     SYSCFG_CFGR2_PVD_LOCK          /*!< Connects the PVD event to the Break Input of TIM1 */\r
165 #define SYSCFG_Break_SRAMParity              SYSCFG_CFGR2_SRAM_PARITY_LOCK  /*!< Connects the SRAM_PARITY error signal to the Break Input of TIM1 */\r
166 #define SYSCFG_Break_Lockup                  SYSCFG_CFGR2_LOCKUP_LOCK       /*!< Connects Lockup output of CortexM0 to the break input of TIM1 */\r
167 \r
168 #define IS_SYSCFG_LOCK_CONFIG(CONFIG) (((CONFIG) == SYSCFG_Break_PVD)        || \\r
169                                        ((CONFIG) == SYSCFG_Break_SRAMParity) || \\r
170                                        ((CONFIG) == SYSCFG_Break_Lockup))\r
171 \r
172 /**\r
173   * @}\r
174   */\r
175 \r
176 /** @defgroup SYSCFG_flags_definition \r
177   * @{\r
178   */\r
179 \r
180 #define SYSCFG_FLAG_PE               SYSCFG_CFGR2_SRAM_PE\r
181 \r
182 #define IS_SYSCFG_FLAG(FLAG) (((FLAG) == SYSCFG_FLAG_PE))\r
183 \r
184 /**\r
185   * @}\r
186   */\r
187 \r
188 /**\r
189   * @}\r
190   */\r
191 \r
192 /* Exported macro ------------------------------------------------------------*/\r
193 /* Exported functions ------------------------------------------------------- */\r
194 \r
195 /*  Function used to set the SYSCFG configuration to the default reset state **/\r
196 void SYSCFG_DeInit(void);\r
197 \r
198 /* SYSCFG configuration functions *********************************************/ \r
199 void SYSCFG_MemoryRemapConfig(uint32_t SYSCFG_MemoryRemap);\r
200 void SYSCFG_DMAChannelRemapConfig(uint32_t SYSCFG_DMARemap, FunctionalState NewState);\r
201 void SYSCFG_I2CFastModePlusConfig(uint32_t SYSCFG_I2CFastModePlus, FunctionalState NewState);\r
202 void SYSCFG_EXTILineConfig(uint8_t EXTI_PortSourceGPIOx, uint8_t EXTI_PinSourcex);\r
203 void SYSCFG_BreakConfig(uint32_t SYSCFG_Break);\r
204 FlagStatus SYSCFG_GetFlagStatus(uint32_t SYSCFG_Flag);\r
205 void SYSCFG_ClearFlag(uint32_t SYSCFG_Flag);\r
206 \r
207 #ifdef __cplusplus\r
208 }\r
209 #endif\r
210 \r
211 #endif /*__STM32F0XX_SYSCFG_H */\r
212 \r
213 /**\r
214   * @}\r
215   */ \r
216 \r
217 /**\r
218   * @}\r
219   */ \r
220 \r
221 /******************* (C) COPYRIGHT 2012 STMicroelectronics *****END OF FILE****/\r