STM32F37 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F37 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Enumerator Groups
stm32f37x_syscfg.h
Go to the documentation of this file.
1 
30 #ifndef __STM32F37X_SYSCFG_H
31 #define __STM32F37X_SYSCFG_H
32 
33 #ifdef __cplusplus
34  extern "C" {
35 #endif
36 
38 #include "stm32f37x.h"
39 
48 /* Exported types ------------------------------------------------------------*/
49 /* Exported constants --------------------------------------------------------*/
50 
58 #define EXTI_PortSourceGPIOA ((uint8_t)0x00)
59 #define EXTI_PortSourceGPIOB ((uint8_t)0x01)
60 #define EXTI_PortSourceGPIOC ((uint8_t)0x02)
61 #define EXTI_PortSourceGPIOD ((uint8_t)0x03)
62 #define EXTI_PortSourceGPIOE ((uint8_t)0x04)
63 #define EXTI_PortSourceGPIOF ((uint8_t)0x05)
64 
65 #define IS_EXTI_PORT_SOURCE(PORTSOURCE) (((PORTSOURCE) == EXTI_PortSourceGPIOA) || \
66  ((PORTSOURCE) == EXTI_PortSourceGPIOB) || \
67  ((PORTSOURCE) == EXTI_PortSourceGPIOC) || \
68  ((PORTSOURCE) == EXTI_PortSourceGPIOD) || \
69  ((PORTSOURCE) == EXTI_PortSourceGPIOE) || \
70  ((PORTSOURCE) == EXTI_PortSourceGPIOF))
71 
78 #define EXTI_PinSource0 ((uint8_t)0x00)
79 #define EXTI_PinSource1 ((uint8_t)0x01)
80 #define EXTI_PinSource2 ((uint8_t)0x02)
81 #define EXTI_PinSource3 ((uint8_t)0x03)
82 #define EXTI_PinSource4 ((uint8_t)0x04)
83 #define EXTI_PinSource5 ((uint8_t)0x05)
84 #define EXTI_PinSource6 ((uint8_t)0x06)
85 #define EXTI_PinSource7 ((uint8_t)0x07)
86 #define EXTI_PinSource8 ((uint8_t)0x08)
87 #define EXTI_PinSource9 ((uint8_t)0x09)
88 #define EXTI_PinSource10 ((uint8_t)0x0A)
89 #define EXTI_PinSource11 ((uint8_t)0x0B)
90 #define EXTI_PinSource12 ((uint8_t)0x0C)
91 #define EXTI_PinSource13 ((uint8_t)0x0D)
92 #define EXTI_PinSource14 ((uint8_t)0x0E)
93 #define EXTI_PinSource15 ((uint8_t)0x0F)
94 
95 #define IS_EXTI_PIN_SOURCE(PINSOURCE) (((PINSOURCE) == EXTI_PinSource0) || \
96  ((PINSOURCE) == EXTI_PinSource1) || \
97  ((PINSOURCE) == EXTI_PinSource2) || \
98  ((PINSOURCE) == EXTI_PinSource3) || \
99  ((PINSOURCE) == EXTI_PinSource4) || \
100  ((PINSOURCE) == EXTI_PinSource5) || \
101  ((PINSOURCE) == EXTI_PinSource6) || \
102  ((PINSOURCE) == EXTI_PinSource7) || \
103  ((PINSOURCE) == EXTI_PinSource8) || \
104  ((PINSOURCE) == EXTI_PinSource9) || \
105  ((PINSOURCE) == EXTI_PinSource10) || \
106  ((PINSOURCE) == EXTI_PinSource11) || \
107  ((PINSOURCE) == EXTI_PinSource12) || \
108  ((PINSOURCE) == EXTI_PinSource13) || \
109  ((PINSOURCE) == EXTI_PinSource14) || \
110  ((PINSOURCE) == EXTI_PinSource15))
111 
118 #define SYSCFG_MemoryRemap_Flash ((uint8_t)0x00)
119 #define SYSCFG_MemoryRemap_SystemMemory ((uint8_t)0x01)
120 #define SYSCFG_MemoryRemap_SRAM ((uint8_t)0x03)
121 
122 
123 #define IS_SYSCFG_MEMORY_REMAP(REMAP) (((REMAP) == SYSCFG_MemoryRemap_Flash) || \
124  ((REMAP) == SYSCFG_MemoryRemap_SystemMemory) || \
125  ((REMAP) == SYSCFG_MemoryRemap_SRAM))
126 
134 #define SYSCFG_DMARemap_TIM17 SYSCFG_CFGR1_TIM17_DMA_RMP /* Remap TIM17 DMA requests from channel1 to channel2 */
135 #define SYSCFG_DMARemap_TIM16 SYSCFG_CFGR1_TIM16_DMA_RMP /* Remap TIM16 DMA requests from channel3 to channel4 */
136 #define SYSCFG_DMARemap_TIM6DAC1Ch1 SYSCFG_CFGR1_TIM6DAC1Ch1_DMA_RMP /* Remap TIM6/DAC1 Ch1 DMA requests from DMA2 channel3 to DMA1 channel3 */
137 #define SYSCFG_DMARemap_TIM7DAC1Ch2 SYSCFG_CFGR1_TIM7DAC1Ch2_DMA_RMP /* Remap TIM7/DAC1 Ch2 DMA requests from DMA2 channel4 to DMA1 channel4 */
138 #define SYSCFG_DMARemap_TIM18DAC2Ch1 SYSCFG_CFGR1_TIM18DAC2Ch1_DMA_RMP /* Remap TIM18/DAC2 Ch1 DMA requests from DMA2 channel5 to DMA1 channel5 */
139 
140 #define IS_SYSCFG_DMA_REMAP(REMAP) (((REMAP) == SYSCFG_DMARemap_TIM17) || \
141  ((REMAP) == SYSCFG_DMARemap_TIM16) || \
142  ((REMAP) == SYSCFG_DMARemap_TIM6DAC1Ch1) || \
143  ((REMAP) == SYSCFG_DMARemap_TIM7DAC1Ch2) || \
144  ((REMAP) == SYSCFG_DMARemap_TIM18DAC2Ch1))
145 
153 #define SYSCFG_I2CFastModePlus_PB6 SYSCFG_CFGR1_I2C_FMP_PB6 /* Enable Fast Mode Plus on PB6 */
154 #define SYSCFG_I2CFastModePlus_PB7 SYSCFG_CFGR1_I2C_FMP_PB7 /* Enable Fast Mode Plus on PB7 */
155 #define SYSCFG_I2CFastModePlus_PB8 SYSCFG_CFGR1_I2C_FMP_PB8 /* Enable Fast Mode Plus on PB8 */
156 #define SYSCFG_I2CFastModePlus_PB9 SYSCFG_CFGR1_I2C_FMP_PB9 /* Enable Fast Mode Plus on PB9 */
157 #define SYSCFG_I2CFastModePlus_I2C1 SYSCFG_CFGR1_I2C_FMP_I2C1 /* Enable Fast Mode Plus on I2C1 pins */
158 #define SYSCFG_I2CFastModePlus_I2C2 SYSCFG_CFGR1_I2C_FMP_I2C2 /* Enable Fast Mode Plus on I2C2 pins */
159 
160 #define IS_SYSCFG_I2C_FMP(PIN) (((PIN) == SYSCFG_I2CFastModePlus_PB6) || \
161  ((PIN) == SYSCFG_I2CFastModePlus_PB7) || \
162  ((PIN) == SYSCFG_I2CFastModePlus_PB8) || \
163  ((PIN) == SYSCFG_I2CFastModePlus_PB9) || \
164  ((PIN) == SYSCFG_I2CFastModePlus_I2C1) || \
165  ((PIN) == SYSCFG_I2CFastModePlus_I2C2))
166 
174 #define SYSCFG_IT_IXC SYSCFG_CFGR1_FPU_IE_5
175 #define SYSCFG_IT_IDC SYSCFG_CFGR1_FPU_IE_4
176 #define SYSCFG_IT_OFC SYSCFG_CFGR1_FPU_IE_3
177 #define SYSCFG_IT_UFC SYSCFG_CFGR1_FPU_IE_2
178 #define SYSCFG_IT_DZC SYSCFG_CFGR1_FPU_IE_1
179 #define SYSCFG_IT_IOC SYSCFG_CFGR1_FPU_IE_0
181 #define IS_SYSCFG_IT(IT) ((((IT) & (uint32_t)0x03FFFFFF) == 0) && ((IT) != 0))
182 
190 #define SYSCFG_Break_PVD SYSCFG_CFGR2_PVD_LOCK
191 #define SYSCFG_Break_SRAMParity SYSCFG_CFGR2_SRAM_PARITY_LOCK
192 #define SYSCFG_Break_Lockup SYSCFG_CFGR2_LOCKUP_LOCK
194 #define IS_SYSCFG_LOCK_CONFIG(CONFIG) (((CONFIG) == SYSCFG_Break_PVD) || \
195  ((CONFIG) == SYSCFG_Break_SRAMParity) || \
196  ((CONFIG) == SYSCFG_Break_Lockup))
197 
206 #define SYSCFG_FLAG_PE SYSCFG_CFGR2_SRAM_PE
207 
208 #define IS_SYSCFG_FLAG(FLAG) (((FLAG) == SYSCFG_FLAG_PE))
209 
218 /* Exported macro ------------------------------------------------------------*/
219 /* Exported functions ------------------------------------------------------- */
220 
221 /* Function used to set the SYSCFG configuration to the default reset state **/
222 void SYSCFG_DeInit(void);
223 
224 /* SYSCFG configuration functions *********************************************/
225 void SYSCFG_MemoryRemapConfig(uint32_t SYSCFG_MemoryRemap);
226 void SYSCFG_DMAChannelRemapConfig(uint32_t SYSCFG_DMARemap, FunctionalState NewState);
227 void SYSCFG_I2CFastModePlusConfig(uint32_t SYSCFG_I2CFastModePlus, FunctionalState NewState);
228 void SYSCFG_VBATMonitoringCmd(FunctionalState NewState);
229 void SYSCFG_ITConfig(uint32_t SYSCFG_IT, FunctionalState NewState);
230 void SYSCFG_EXTILineConfig(uint8_t EXTI_PortSourceGPIOx, uint8_t EXTI_PinSourcex);
231 void SYSCFG_BreakConfig(uint32_t SYSCFG_Break);
232 FlagStatus SYSCFG_GetFlagStatus(uint32_t SYSCFG_Flag);
233 void SYSCFG_ClearFlag(uint32_t SYSCFG_Flag);
234 
235 #ifdef __cplusplus
236 }
237 #endif
238 
239 #endif /*__STM32F37X_SYSCFG_H */
240 
249 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/