Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
stm32f4xx_mort2.h
00001 /** 00002 ****************************************************************************** 00003 * @file stm32f4xx.h 00004 * @author MCD Application Team 00005 * @version V1.8.0 00006 * @date 09-November-2016 00007 * @brief CMSIS Cortex-M4 Device Peripheral Access Layer Header File. 00008 * This file contains all the peripheral register's definitions, bits 00009 * definitions and memory mapping for STM32F4xx devices. 00010 * 00011 * The file is the unique include file that the application programmer 00012 * is using in the C source code, usually in main.c. This file contains: 00013 * - Configuration section that allows to select: 00014 * - The device used in the target application 00015 * - To use or not the peripherals drivers in application code(i.e. 00016 * code will be based on direct access to peripherals registers 00017 * rather than drivers API), this option is controlled by 00018 * "#define USE_STDPERIPH_DRIVER" 00019 * - To change few application-specific parameters such as the HSE 00020 * crystal frequency 00021 * - Data structures and the address mapping for all peripherals 00022 * - Peripherals registers declarations and bits definition 00023 * - Macros to access peripherals registers hardware 00024 * 00025 ****************************************************************************** 00026 * @attention 00027 * 00028 * <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2> 00029 * 00030 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 00031 * You may not use this file except in compliance with the License. 00032 * You may obtain a copy of the License at: 00033 * 00034 * http://www.st.com/software_license_agreement_liberty_v2 00035 * 00036 * Unless required by applicable law or agreed to in writing, software 00037 * distributed under the License is distributed on an "AS IS" BASIS, 00038 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00039 * See the License for the specific language governing permissions and 00040 * limitations under the License. 00041 * 00042 ****************************************************************************** 00043 */ 00044 00045 /** @addtogroup CMSIS 00046 * @{ 00047 */ 00048 00049 /** @addtogroup stm32f4xx 00050 * @{ 00051 */ 00052 00053 #ifndef __STM32F4xx_H_MORT2_ 00054 #define __STM32F4xx_H_MORT2_ 00055 00056 #ifdef __cplusplus 00057 extern "C" { 00058 #endif /* __cplusplus */ 00059 00060 /** @addtogroup Library_configuration_section 00061 * @{ 00062 */ 00063 00064 /* Uncomment the line below according to the target STM32 device used in your 00065 application 00066 */ 00067 00068 #if !defined(STM32F40_41xxx) && !defined(STM32F427_437xx) && !defined(STM32F429_439xx) && !defined(STM32F401xx) && !defined(STM32F410xx) && \ 00069 !defined(STM32F411xE) && !defined(STM32F412xG) && !defined(STM32F413_423xx) && !defined(STM32F446xx_MORT) && !defined(STM32F469_479xx) 00070 /* #define STM32F40_41xxx */ /*!< STM32F405RG, STM32F405VG, STM32F405ZG, STM32F415RG, STM32F415VG, STM32F415ZG, 00071 STM32F407VG, STM32F407VE, STM32F407ZG, STM32F407ZE, STM32F407IG, STM32F407IE, 00072 STM32F417VG, STM32F417VE, STM32F417ZG, STM32F417ZE, STM32F417IG and STM32F417IE Devices */ 00073 00074 /* #define STM32F427_437xx */ /*!< STM32F427VG, STM32F427VI, STM32F427ZG, STM32F427ZI, STM32F427IG, STM32F427II, 00075 STM32F437VG, STM32F437VI, STM32F437ZG, STM32F437ZI, STM32F437IG, STM32F437II Devices */ 00076 00077 /* #define STM32F429_439xx */ /*!< STM32F429VG, STM32F429VI, STM32F429ZG, STM32F429ZI, STM32F429BG, STM32F429BI, 00078 STM32F429NG, STM32F439NI, STM32F429IG, STM32F429II, STM32F439VG, STM32F439VI, 00079 STM32F439ZG, STM32F439ZI, STM32F439BG, STM32F439BI, STM32F439NG, STM32F439NI, 00080 STM32F439IG and STM32F439II Devices */ 00081 00082 /* #define STM32F401xx */ /*!< STM32F401CB, STM32F401CC, STM32F401RB, STM32F401RC, STM32F401VB, STM32F401VC, 00083 STM32F401CD, STM32F401RD, STM32F401VD, STM32F401CExx, STM32F401RE and STM32F401VE Devices */ 00084 00085 /* #define STM32F410xx */ /*!< STM32F410Tx, STM32F410Cx and STM32F410Rx */ 00086 00087 /* #define STM32F411xE */ /*!< STM32F411CC, STM32F411RC, STM32F411VC, STM32F411CE, STM32F411RE and STM32F411VE Devices */ 00088 00089 /* #define STM32F412xG */ /*!< STM32F412CEU, STM32F412CGU, STM32F412ZET, STM32F412ZGT, STM32F412ZEJ, STM32F412ZGJ, 00090 STM32F412VET, STM32F412VGT, STM32F412VEH, STM32F412VGH, STM32F412RET, STM32F412RGT, 00091 STM32F412REY and STM32F412RGY Devices */ 00092 00093 /* #define STM32F413_423xx */ /*!< STM32F413CGU, STM32F413CHU, STM32F413MGY, STM32F413MHY, STM32F413RGT, STM32F413VGT, 00094 STM32F413ZGT, STM32F413RHT, STM32F413VHT, STM32F413ZHT, STM32F413VGH, STM32F413ZGJ, 00095 STM32F413VHH, STM32F413ZHJ, STM32F423CHU, STM32F423RHT, STM32F423VHT, STM32F423ZHT, 00096 STM32F423VHH and STM32F423ZHJ devices */ 00097 00098 #define STM32F446xx_MORT /*!< STM32F446MC, STM32F446ME, STM32F446RC, STM32F446RE, STM32F446VC, STM32F446VE, STM32F446ZC 00099 and STM32F446ZE Devices */ 00100 00101 /* #define STM32F469_479xx */ /*!< STM32F479AI, STM32F479II, STM32F479BI, STM32F479NI, STM32F479AG, STM32F479IG, STM32F479BG, 00102 STM32F479NG, STM32F479AE, STM32F479IE, STM32F479BE, STM32F479NE Devices */ 00103 00104 #endif /* STM32F40_41xxx && STM32F427_437xx && STM32F429_439xx && STM32F401xx && STM32F410xx && STM32F411xE && STM32F412xG && STM32F413_423xx && STM32F446xx_MORT && STM32F469_479xx */ 00105 00106 /* Old STM32F40XX definition, maintained for legacy purpose */ 00107 #ifdef STM32F40XX 00108 #define STM32F40_41xxx 00109 #endif /* STM32F40XX */ 00110 00111 /* Old STM32F427X definition, maintained for legacy purpose */ 00112 #ifdef STM32F427X 00113 #define STM32F427_437xx 00114 #endif /* STM32F427X */ 00115 00116 /* Tip: To avoid modifying this file each time you need to switch between these 00117 devices, you can define the device in your toolchain compiler preprocessor. 00118 */ 00119 00120 #if !defined(STM32F40_41xxx) && !defined(STM32F427_437xx) && !defined(STM32F429_439xx) && !defined(STM32F401xx) && !defined(STM32F410xx) && \ 00121 !defined(STM32F411xE) && !defined(STM32F412xG) && !defined(STM32F413_423xx) && !defined(STM32F446xx_MORT) && !defined(STM32F469_479xx) 00122 #error "Please select first the target STM32F4xx device used in your application (in stm32f4xx.h file)" 00123 #endif /* STM32F40_41xxx && STM32F427_437xx && STM32F429_439xx && STM32F401xx && STM32F410xx && STM32F411xE && STM32F412xG && STM32F413_23xx && STM32F446xx_MORT && STM32F469_479xx */ 00124 00125 #if !defined (USE_STDPERIPH_DRIVER) 00126 /** 00127 * @brief Comment the line below if you will not use the peripherals drivers. 00128 In this case, these drivers will not be included and the application code will 00129 be based on direct access to peripherals registers 00130 */ 00131 /*#define USE_STDPERIPH_DRIVER */ 00132 #endif /* USE_STDPERIPH_DRIVER */ 00133 00134 /** 00135 * @brief In the following line adjust the value of External High Speed oscillator (HSE) 00136 used in your application 00137 00138 Tip: To avoid modifying this file each time you need to use different HSE, you 00139 can define the HSE value in your toolchain compiler preprocessor. 00140 */ 00141 #if defined(STM32F40_41xxx) || defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F401xx) || \ 00142 defined(STM32F410xx) || defined(STM32F411xE) || defined(STM32F469_479xx) 00143 #if !defined (HSE_VALUE) 00144 #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */ 00145 #endif /* HSE_VALUE */ 00146 #elif defined (STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 00147 #if !defined (HSE_VALUE) 00148 #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ 00149 #endif /* HSE_VALUE */ 00150 #endif /* STM32F40_41xxx || STM32F427_437xx || STM32F429_439xx || STM32F401xx || STM32F411xE || STM32F469_479xx */ 00151 /** 00152 * @brief In the following line adjust the External High Speed oscillator (HSE) Startup 00153 Timeout value 00154 */ 00155 #if !defined (HSE_STARTUP_TIMEOUT) 00156 #define HSE_STARTUP_TIMEOUT ((uint16_t)0x05000) /*!< Time out for HSE start up */ 00157 #endif /* HSE_STARTUP_TIMEOUT */ 00158 00159 #if !defined (HSI_VALUE) 00160 #define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ 00161 #endif /* HSI_VALUE */ 00162 00163 /** 00164 * @brief STM32F4XX Standard Peripherals Library version number V1.8.0 00165 */ 00166 #define __STM32F4XX_STDPERIPH_VERSION_MAIN (0x01) /*!< [31:24] main version */ 00167 #define __STM32F4XX_STDPERIPH_VERSION_SUB1 (0x08) /*!< [23:16] sub1 version */ 00168 #define __STM32F4XX_STDPERIPH_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */ 00169 #define __STM32F4XX_STDPERIPH_VERSION_RC (0x00) /*!< [7:0] release candidate */ 00170 #define __STM32F4XX_STDPERIPH_VERSION ((__STM32F4XX_STDPERIPH_VERSION_MAIN << 24)\ 00171 |(__STM32F4XX_STDPERIPH_VERSION_SUB1 << 16)\ 00172 |(__STM32F4XX_STDPERIPH_VERSION_SUB2 << 8)\ 00173 |(__STM32F4XX_STDPERIPH_VERSION_RC)) 00174 00175 /** 00176 * @} 00177 */ 00178 00179 /** @addtogroup Configuration_section_for_CMSIS 00180 * @{ 00181 */ 00182 00183 /** 00184 * @brief Configuration of the Cortex-M4 Processor and Core Peripherals 00185 */ 00186 #define __CM4_REV_MORT 0x0001 /*!< Core revision r0p1 */ 00187 #define __MPU_PRESENT_MORT 1 /*!< STM32F4XX provides an MPU */ 00188 #define __NVIC_PRIO_BITS_MORT 4 /*!< STM32F4XX uses 4 Bits for the Priority Levels */ 00189 #define __Vendor_SysTickConfig_MORT 0 /*!< Set to 1 if different SysTick Config is used */ 00190 #define __FPU_PRESENT_MORT 1 /*!< FPU present */ 00191 00192 /** 00193 * @brief STM32F4XX Interrupt Number Definition, according to the selected device 00194 * in @ref Library_configuration_section 00195 */ 00196 typedef enum IRQn_MORT 00197 { 00198 /****** Cortex-M4 Processor Exceptions Numbers ****************************************************************/ 00199 NonMaskableInt_IRQn_MORT = -14, /*!< 2 Non Maskable Interrupt */ 00200 MemoryManagement_IRQn_MORT = -12, /*!< 4 Cortex-M4 Memory Management Interrupt */ 00201 BusFault_IRQn_MORT = -11, /*!< 5 Cortex-M4 Bus Fault Interrupt */ 00202 UsageFault_IRQn_MORT = -10, /*!< 6 Cortex-M4 Usage Fault Interrupt */ 00203 SVCall_IRQn_MORT = -5, /*!< 11 Cortex-M4 SV Call Interrupt */ 00204 DebugMonitor_IRQn_MORT = -4, /*!< 12 Cortex-M4 Debug Monitor Interrupt */ 00205 PendSV_IRQn_MORT = -2, /*!< 14 Cortex-M4 Pend SV Interrupt */ 00206 SysTick_IRQn_MORT = -1, /*!< 15 Cortex-M4 System Tick Interrupt */ 00207 /****** STM32 specific Interrupt Numbers **********************************************************************/ 00208 WWDG_IRQn_MORT = 0, /*!< Window WatchDog Interrupt */ 00209 PVD_IRQn_MORT = 1, /*!< PVD through EXTI_MORT Line detection Interrupt */ 00210 TAMP_STAMP_IRQn_MORT = 2, /*!< Tamper and TimeStamp interrupts through the EXTI_MORT line */ 00211 RTC_WKUP_IRQn_MORT = 3, /*!< RTC_MORT Wakeup interrupt through the EXTI_MORT line */ 00212 FLASH_IRQn_MORT = 4, /*!< FLASH_MORT global Interrupt */ 00213 RCC_IRQn_MORT = 5, /*!< RCC_MORT global Interrupt */ 00214 EXTI0_IRQn_MORT = 6, /*!< EXTI_MORT Line0 Interrupt */ 00215 EXTI1_IRQn_MORT = 7, /*!< EXTI_MORT Line1 Interrupt */ 00216 EXTI2_IRQn_MORT = 8, /*!< EXTI_MORT Line2 Interrupt */ 00217 EXTI3_IRQn_MORT = 9, /*!< EXTI_MORT Line3 Interrupt */ 00218 EXTI4_IRQn_MORT = 10, /*!< EXTI_MORT Line4 Interrupt */ 00219 DMA1_Stream0_IRQn_MORT = 11, /*!< DMA1_MORT Stream 0 global Interrupt */ 00220 DMA1_Stream1_IRQn_MORT = 12, /*!< DMA1_MORT Stream 1 global Interrupt */ 00221 DMA1_Stream2_IRQn_MORT = 13, /*!< DMA1_MORT Stream 2 global Interrupt */ 00222 DMA1_Stream3_IRQn_MORT = 14, /*!< DMA1_MORT Stream 3 global Interrupt */ 00223 DMA1_Stream4_IRQn_MORT = 15, /*!< DMA1_MORT Stream 4 global Interrupt */ 00224 DMA1_Stream5_IRQn_MORT = 16, /*!< DMA1_MORT Stream 5 global Interrupt */ 00225 DMA1_Stream6_IRQn_MORT = 17, /*!< DMA1_MORT Stream 6 global Interrupt */ 00226 ADC_IRQn_MORT = 18, /*!< ADC1_MORT, ADC2_MORT and ADC3_MORT global Interrupts */ 00227 00228 #if defined(STM32F40_41xxx) 00229 */ 00230 #endif /* STM32F40_41xxx */ 00231 00232 #if defined(STM32F427_437xx) 00233 */ 00234 #endif /* STM32F427_437xx */ 00235 00236 #if defined(STM32F429_439xx) 00237 */ 00238 #endif /* STM32F429_439xx */ 00239 00240 #if defined(STM32F410xx) 00241 */ 00242 #endif /* STM32F410xx */ 00243 00244 #if defined(STM32F401xx) || defined(STM32F411xE) 00245 */ 00246 #if defined(STM32F401xx) 00247 */ 00248 #endif /* STM32F411xE */ 00249 #if defined(STM32F411xE) 00250 */ 00251 #endif /* STM32F411xE */ 00252 #endif /* STM32F401xx || STM32F411xE */ 00253 00254 #if defined(STM32F469_479xx) 00255 */ 00256 #endif /* STM32F469_479xx */ 00257 00258 #if defined(STM32F446xx_MORT) 00259 CAN1_TX_IRQn_MORT = 19, /*!< CAN1_MORT TX Interrupt */ 00260 CAN1_RX0_IRQn_MORT = 20, /*!< CAN1_MORT RX0 Interrupt */ 00261 CAN1_RX1_IRQn_MORT = 21, /*!< CAN1_MORT RX1 Interrupt */ 00262 CAN1_SCE_IRQn_MORT = 22, /*!< CAN1_MORT SCE Interrupt */ 00263 EXTI9_5_IRQn_MORT = 23, /*!< External Line[9:5] Interrupts */ 00264 TIM1_BRK_TIM9_IRQn_MORT = 24, /*!< TIM1_MORT Break interrupt and TIM9_MORT global interrupt */ 00265 TIM1_UP_TIM10_IRQn_MORT = 25, /*!< TIM1_MORT Update Interrupt and TIM10_MORT global interrupt */ 00266 TIM1_TRG_COM_TIM11_IRQn_MORT = 26, /*!< TIM1_MORT Trigger and Commutation Interrupt and TIM11_MORT global interrupt */ 00267 TIM1_CC_IRQn_MORT = 27, /*!< TIM1_MORT Capture Compare Interrupt */ 00268 TIM2_IRQn_MORT = 28, /*!< TIM2_MORT global Interrupt */ 00269 TIM3_IRQn_MORT = 29, /*!< TIM3_MORT global Interrupt */ 00270 TIM4_IRQn_MORT = 30, /*!< TIM4_MORT global Interrupt */ 00271 I2C1_EV_IRQn_MORT = 31, /*!< I2C1_MORT Event Interrupt */ 00272 I2C1_ER_IRQn_MORT = 32, /*!< I2C1_MORT Error Interrupt */ 00273 I2C2_EV_IRQn_MORT = 33, /*!< I2C2_MORT Event Interrupt */ 00274 I2C2_ER_IRQn_MORT = 34, /*!< I2C2_MORT Error Interrupt */ 00275 SPI1_IRQn_MORT = 35, /*!< SPI1_MORT global Interrupt */ 00276 SPI2_IRQn_MORT = 36, /*!< SPI2_MORT global Interrupt */ 00277 USART1_IRQn_MORT = 37, /*!< USART1_MORT global Interrupt */ 00278 USART2_IRQn_MORT = 38, /*!< USART2_MORT global Interrupt */ 00279 USART3_IRQn_MORT = 39, /*!< USART3_MORT global Interrupt */ 00280 EXTI15_10_IRQn_MORT = 40, /*!< External Line[15:10] Interrupts */ 00281 RTC_Alarm_IRQn_MORT = 41, /*!< RTC_MORT Alarm (A and B) through EXTI_MORT Line Interrupt */ 00282 OTG_FS_WKUP_IRQn_MORT = 42, /*!< USB OTG FS Wakeup through EXTI_MORT line interrupt */ 00283 TIM8_BRK_IRQn_MORT = 43, /*!< TIM8_MORT Break Interrupt */ 00284 TIM8_BRK_TIM12_IRQn_MORT = 43, /*!< TIM8_MORT Break Interrupt and TIM12_MORT global interrupt */ 00285 TIM8_UP_TIM13_IRQn_MORT = 44, /*!< TIM8_MORT Update Interrupt and TIM13_MORT global interrupt */ 00286 TIM8_TRG_COM_TIM14_IRQn_MORT = 45, /*!< TIM8_MORT Trigger and Commutation Interrupt and TIM14_MORT global interrupt */ 00287 DMA1_Stream7_IRQn_MORT = 47, /*!< DMA1_MORT Stream7 Interrupt */ 00288 FMC_IRQn_MORT = 48, /*!< FMC global Interrupt */ 00289 SDIO_IRQn_MORT = 49, /*!< SDIO_MORT global Interrupt */ 00290 TIM5_IRQn_MORT = 50, /*!< TIM5_MORT global Interrupt */ 00291 SPI3_IRQn_MORT = 51, /*!< SPI3_MORT global Interrupt */ 00292 UART4_IRQn_MORT = 52, /*!< UART4_MORT global Interrupt */ 00293 UART5_IRQn_MORT = 53, /*!< UART5_MORT global Interrupt */ 00294 TIM6_DAC_IRQn_MORT = 54, /*!< TIM6_MORT global and DAC1&2 underrun error interrupts */ 00295 TIM7_IRQn_MORT = 55, /*!< TIM7_MORT global interrupt */ 00296 DMA2_Stream0_IRQn_MORT = 56, /*!< DMA2_MORT Stream 0 global Interrupt */ 00297 DMA2_Stream1_IRQn_MORT = 57, /*!< DMA2_MORT Stream 1 global Interrupt */ 00298 DMA2_Stream2_IRQn_MORT = 58, /*!< DMA2_MORT Stream 2 global Interrupt */ 00299 DMA2_Stream3_IRQn_MORT = 59, /*!< DMA2_MORT Stream 3 global Interrupt */ 00300 DMA2_Stream4_IRQn_MORT = 60, /*!< DMA2_MORT Stream 4 global Interrupt */ 00301 CAN2_TX_IRQn_MORT = 63, /*!< CAN2_MORT TX Interrupt */ 00302 CAN2_RX0_IRQn_MORT = 64, /*!< CAN2_MORT RX0 Interrupt */ 00303 CAN2_RX1_IRQn_MORT = 65, /*!< CAN2_MORT RX1 Interrupt */ 00304 CAN2_SCE_IRQn_MORT = 66, /*!< CAN2_MORT SCE Interrupt */ 00305 OTG_FS_IRQn_MORT = 67, /*!< USB OTG FS global Interrupt */ 00306 DMA2_Stream5_IRQn_MORT = 68, /*!< DMA2_MORT Stream 5 global interrupt */ 00307 DMA2_Stream6_IRQn_MORT = 69, /*!< DMA2_MORT Stream 6 global interrupt */ 00308 DMA2_Stream7_IRQn_MORT = 70, /*!< DMA2_MORT Stream 7 global interrupt */ 00309 USART6_IRQn_MORT = 71, /*!< USART6_MORT global interrupt */ 00310 I2C3_EV_IRQn_MORT = 72, /*!< I2C3_MORT event interrupt */ 00311 I2C3_ER_IRQn_MORT = 73, /*!< I2C3_MORT error interrupt */ 00312 OTG_HS_EP1_OUT_IRQn_MORT = 74, /*!< USB OTG HS End Point 1 Out global interrupt */ 00313 OTG_HS_EP1_IN_IRQn_MORT = 75, /*!< USB OTG HS End Point 1 In global interrupt */ 00314 OTG_HS_WKUP_IRQn_MORT = 76, /*!< USB OTG HS Wakeup through EXTI_MORT interrupt */ 00315 OTG_HS_IRQn_MORT = 77, /*!< USB OTG HS global interrupt */ 00316 DCMI_IRQn_MORT = 78, /*!< DCMI_MORT global interrupt */ 00317 FPU_IRQn_MORT = 81, /*!< FPU global interrupt */ 00318 SPI4_IRQn_MORT = 84, /*!< SPI4_MORT global Interrupt */ 00319 SAI1_IRQn_MORT = 87, /*!< SAI1_MORT global Interrupt */ 00320 SAI2_IRQn_MORT = 91, /*!< SAI2_MORT global Interrupt */ 00321 QUADSPI_IRQn_MORT = 92, /*!< QUADSPI_MORT global Interrupt */ 00322 CEC_IRQn_MORT = 93, /*!< QUADSPI_MORT global Interrupt */ 00323 SPDIF_RX_IRQn_MORT = 94, /*!< QUADSPI_MORT global Interrupt */ 00324 FMPI2C1_EV_IRQn_MORT = 95, /*!< FMPI2C Event Interrupt */ 00325 FMPI2C1_ER_IRQn_MORT = 96 /*!< FMPCI2C Error Interrupt */ 00326 #endif /* STM32F446xx_MORT */ 00327 00328 #if defined(STM32F412xG) 00329 */ 00330 #endif /* STM32F412xG */ 00331 00332 #if defined(STM32F413_423xx) 00333 */ 00334 */ 00335 #endif /* STM32F413_423xx */ 00336 } IRQn_Type_MORT; 00337 00338 /** 00339 * @} 00340 */ 00341 #include "stm32f4xx.h" 00342 #include "core_cm4.h" /* Cortex-M4 processor and core peripherals */ 00343 #include "system_stm32f4xx.h" 00344 #include <stdint.h> 00345 00346 /** @addtogroup Exported_types 00347 * @{ 00348 */ 00349 /*!< STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */ 00350 //typedef int32_t_mort s32; 00351 //typedef int16_t_mort s16; 00352 //typedef int8_t_mort s8; 00353 00354 //typedef const int32_t_mort sc32; /*!< Read Only */ 00355 //typedef const int16_t_mort sc16; /*!< Read Only */ 00356 //typedef const int8_t_mort sc8; /*!< Read Only */ 00357 00358 //typedef __IO int32_t_mort vs32; 00359 //typedef __IO int16_t_mort vs16; 00360 //typedef __IO int8_t_mort vs8; 00361 00362 //typedef __I int32_t_mort vsc32; /*!< Read Only */ 00363 //typedef __I int16_t_mort vsc16; /*!< Read Only */ 00364 //typedef __I int8_t_mort vsc8; /*!< Read Only */ 00365 00366 //typedef uint32_t_mort u32; 00367 //typedef uint16_t_mort u16; 00368 //typedef uint8_t_mort u8; 00369 00370 //typedef const uint32_t_mort uc32; /*!< Read Only */ 00371 //typedef const uint16_t_mort uc16; /*!< Read Only */ 00372 //typedef const uint8_t_mort uc8; /*!< Read Only */ 00373 00374 //typedef __IO uint32_t_mort vu32; 00375 //typedef __IO uint16_t_mort vu16; 00376 //typedef __IO uint8_t_mort vu8; 00377 00378 //typedef __I uint32_t_mort vuc32; /*!< Read Only */ 00379 //typedef __I uint16_t_mort vuc16; /*!< Read Only */ 00380 //typedef __I uint8_t_mort vuc8; /*!< Read Only */ 00381 00382 typedef enum {RESET_MORT = 0, SET_MORT = !RESET_MORT} FlagStatus_MORT, ITStatus_MORT; 00383 00384 typedef enum {DISABLE_MORT = 0, ENABLE_MORT = !DISABLE_MORT} FunctionalState_MORT; 00385 #define IS_FUNCTIONAL_STATE_MORT(STATE) (((STATE) == DISABLE_MORT) || ((STATE) == ENABLE_MORT)) 00386 00387 typedef enum {ERROR_MORT = 0, SUCCESS_MORT = !ERROR} ErrorStatus_MORT; 00388 00389 /** 00390 * @} 00391 */ 00392 00393 /** @addtogroup Peripheral_registers_structures 00394 * @{ 00395 */ 00396 00397 /** 00398 * @brief Analog to Digital Converter 00399 */ 00400 00401 typedef struct 00402 { 00403 __IO uint32_t SR; /*!< ADC_MORT status register, Address offset: 0x00 */ 00404 __IO uint32_t CR1; /*!< ADC_MORT control register 1, Address offset: 0x04 */ 00405 __IO uint32_t CR2; /*!< ADC_MORT control register 2, Address offset: 0x08 */ 00406 __IO uint32_t SMPR1; /*!< ADC_MORT sample time register 1, Address offset: 0x0C */ 00407 __IO uint32_t SMPR2; /*!< ADC_MORT sample time register 2, Address offset: 0x10 */ 00408 __IO uint32_t JOFR1; /*!< ADC_MORT injected channel data offset register 1, Address offset: 0x14 */ 00409 __IO uint32_t JOFR2; /*!< ADC_MORT injected channel data offset register 2, Address offset: 0x18 */ 00410 __IO uint32_t JOFR3; /*!< ADC_MORT injected channel data offset register 3, Address offset: 0x1C */ 00411 __IO uint32_t JOFR4; /*!< ADC_MORT injected channel data offset register 4, Address offset: 0x20 */ 00412 __IO uint32_t HTR; /*!< ADC_MORT watchdog higher threshold register, Address offset: 0x24 */ 00413 __IO uint32_t LTR; /*!< ADC_MORT watchdog lower threshold register, Address offset: 0x28 */ 00414 __IO uint32_t SQR1; /*!< ADC_MORT regular sequence register 1, Address offset: 0x2C */ 00415 __IO uint32_t SQR2; /*!< ADC_MORT regular sequence register 2, Address offset: 0x30 */ 00416 __IO uint32_t SQR3; /*!< ADC_MORT regular sequence register 3, Address offset: 0x34 */ 00417 __IO uint32_t JSQR; /*!< ADC_MORT injected sequence register, Address offset: 0x38 */ 00418 __IO uint32_t JDR1; /*!< ADC_MORT injected data register 1, Address offset: 0x3C */ 00419 __IO uint32_t JDR2; /*!< ADC_MORT injected data register 2, Address offset: 0x40 */ 00420 __IO uint32_t JDR3; /*!< ADC_MORT injected data register 3, Address offset: 0x44 */ 00421 __IO uint32_t JDR4; /*!< ADC_MORT injected data register 4, Address offset: 0x48 */ 00422 __IO uint32_t DR; /*!< ADC_MORT regular data register, Address offset: 0x4C */ 00423 } ADC_TypeDef_mort; 00424 00425 typedef struct 00426 { 00427 __IO uint32_t CSR; /*!< ADC_MORT Common status register, Address offset: ADC1_MORT base address + 0x300 */ 00428 __IO uint32_t CCR; /*!< ADC_MORT common control register, Address offset: ADC1_MORT base address + 0x304 */ 00429 __IO uint32_t CDR; /*!< ADC_MORT common regular data register for dual 00430 AND triple modes, Address offset: ADC1_MORT base address + 0x308 */ 00431 } ADC_Common_TypeDef_mort; 00432 00433 00434 /** 00435 * @brief Controller Area Network TxMailBox 00436 */ 00437 00438 typedef struct 00439 { 00440 __IO uint32_t TIR; /*!< CAN TX mailbox identifier register */ 00441 __IO uint32_t TDTR; /*!< CAN mailbox data length control and time stamp register */ 00442 __IO uint32_t TDLR; /*!< CAN mailbox data low register */ 00443 __IO uint32_t TDHR; /*!< CAN mailbox data high register */ 00444 } CAN_TxMailBox_TypeDef_mort; 00445 00446 /** 00447 * @brief Controller Area Network FIFOMailBox 00448 */ 00449 00450 typedef struct 00451 { 00452 __IO uint32_t RIR; /*!< CAN receive FIFO mailbox identifier register */ 00453 __IO uint32_t RDTR; /*!< CAN receive FIFO mailbox data length control and time stamp register */ 00454 __IO uint32_t RDLR; /*!< CAN receive FIFO mailbox data low register */ 00455 __IO uint32_t RDHR; /*!< CAN receive FIFO mailbox data high register */ 00456 } CAN_FIFOMailBox_TypeDef_mort; 00457 00458 /** 00459 * @brief Controller Area Network FilterRegister 00460 */ 00461 00462 typedef struct 00463 { 00464 __IO uint32_t FR1; /*!< CAN Filter bank register 1 */ 00465 __IO uint32_t FR2; /*!< CAN Filter bank register 1 */ 00466 } CAN_FilterRegister_TypeDef_mort; 00467 00468 /** 00469 * @brief Controller Area Network 00470 */ 00471 00472 typedef struct 00473 { 00474 __IO uint32_t MCR; /*!< CAN master control register, Address offset: 0x00 */ 00475 __IO uint32_t MSR; /*!< CAN master status register, Address offset: 0x04 */ 00476 __IO uint32_t TSR; /*!< CAN transmit status register, Address offset: 0x08 */ 00477 __IO uint32_t RF0R; /*!< CAN receive FIFO 0 register, Address offset: 0x0C */ 00478 __IO uint32_t RF1R; /*!< CAN receive FIFO 1 register, Address offset: 0x10 */ 00479 __IO uint32_t IER; /*!< CAN interrupt enable register, Address offset: 0x14 */ 00480 __IO uint32_t ESR; /*!< CAN error status register, Address offset: 0x18 */ 00481 __IO uint32_t BTR; /*!< CAN bit timing register, Address offset: 0x1C */ 00482 uint32_t RESERVED0[88]; /*!< Reserved, 0x020 - 0x17F */ 00483 CAN_TxMailBox_TypeDef_mort sTxMailBox[3]; /*!< CAN Tx MailBox, Address offset: 0x180 - 0x1AC */ 00484 CAN_FIFOMailBox_TypeDef_mort sFIFOMailBox[2]; /*!< CAN FIFO MailBox, Address offset: 0x1B0 - 0x1CC */ 00485 uint32_t RESERVED1[12]; /*!< Reserved, 0x1D0 - 0x1FF */ 00486 __IO uint32_t FMR; /*!< CAN filter master register, Address offset: 0x200 */ 00487 __IO uint32_t FM1R; /*!< CAN filter mode register, Address offset: 0x204 */ 00488 uint32_t RESERVED2; /*!< Reserved, 0x208 */ 00489 __IO uint32_t FS1R; /*!< CAN filter scale register, Address offset: 0x20C */ 00490 uint32_t RESERVED3; /*!< Reserved, 0x210 */ 00491 __IO uint32_t FFA1R; /*!< CAN filter FIFO assignment register, Address offset: 0x214 */ 00492 uint32_t RESERVED4; /*!< Reserved, 0x218 */ 00493 __IO uint32_t FA1R; /*!< CAN filter activation register, Address offset: 0x21C */ 00494 uint32_t RESERVED5[8]; /*!< Reserved, 0x220-0x23F */ 00495 CAN_FilterRegister_TypeDef_mort sFilterRegister[28]; /*!< CAN Filter Register, Address offset: 0x240-0x31C */ 00496 } CAN_TypeDef_mort; 00497 00498 #if defined(STM32F446xx_MORT) 00499 /** 00500 * @brief Consumer Electronics Control 00501 */ 00502 typedef struct 00503 { 00504 __IO uint32_t CR; /*!< CEC_MORT control register, Address offset:0x00 */ 00505 __IO uint32_t CFGR; /*!< CEC_MORT configuration register, Address offset:0x04 */ 00506 __IO uint32_t TXDR; /*!< CEC_MORT Tx data register , Address offset:0x08 */ 00507 __IO uint32_t RXDR; /*!< CEC_MORT Rx Data Register, Address offset:0x0C */ 00508 __IO uint32_t ISR; /*!< CEC_MORT Interrupt and Status Register, Address offset:0x10 */ 00509 __IO uint32_t IER; /*!< CEC_MORT interrupt enable register, Address offset:0x14 */ 00510 }CEC_TypeDef_mort; 00511 #endif /* STM32F446xx_MORT */ 00512 00513 /** 00514 * @brief CRC_MORT calculation unit 00515 */ 00516 00517 typedef struct 00518 { 00519 __IO uint32_t DR; /*!< CRC_MORT Data register, Address offset: 0x00 */ 00520 __IO uint8_t IDR; /*!< CRC_MORT Independent data register, Address offset: 0x04 */ 00521 uint8_t RESERVED0; /*!< Reserved, 0x05 */ 00522 uint16_t RESERVED1; /*!< Reserved, 0x06 */ 00523 __IO uint32_t CR; /*!< CRC_MORT Control register, Address offset: 0x08 */ 00524 } CRC_TypeDef_mort; 00525 00526 /** 00527 * @brief Digital to Analog Converter 00528 */ 00529 00530 typedef struct 00531 { 00532 __IO uint32_t CR; /*!< DAC_MORT control register, Address offset: 0x00 */ 00533 __IO uint32_t SWTRIGR; /*!< DAC_MORT software trigger register, Address offset: 0x04 */ 00534 __IO uint32_t DHR12R1; /*!< DAC_MORT channel1 12-bit right-aligned data holding register, Address offset: 0x08 */ 00535 __IO uint32_t DHR12L1; /*!< DAC_MORT channel1 12-bit left aligned data holding register, Address offset: 0x0C */ 00536 __IO uint32_t DHR8R1; /*!< DAC_MORT channel1 8-bit right aligned data holding register, Address offset: 0x10 */ 00537 __IO uint32_t DHR12R2; /*!< DAC_MORT channel2 12-bit right aligned data holding register, Address offset: 0x14 */ 00538 __IO uint32_t DHR12L2; /*!< DAC_MORT channel2 12-bit left aligned data holding register, Address offset: 0x18 */ 00539 __IO uint32_t DHR8R2; /*!< DAC_MORT channel2 8-bit right-aligned data holding register, Address offset: 0x1C */ 00540 __IO uint32_t DHR12RD; /*!< Dual DAC_MORT 12-bit right-aligned data holding register, Address offset: 0x20 */ 00541 __IO uint32_t DHR12LD; /*!< DUAL DAC_MORT 12-bit left aligned data holding register, Address offset: 0x24 */ 00542 __IO uint32_t DHR8RD; /*!< DUAL DAC_MORT 8-bit right aligned data holding register, Address offset: 0x28 */ 00543 __IO uint32_t DOR1; /*!< DAC_MORT channel1 data output register, Address offset: 0x2C */ 00544 __IO uint32_t DOR2; /*!< DAC_MORT channel2 data output register, Address offset: 0x30 */ 00545 __IO uint32_t SR; /*!< DAC_MORT status register, Address offset: 0x34 */ 00546 } DAC_TypeDef_mort; 00547 00548 #if defined(STM32F412xG) || defined(STM32F413_423xx) 00549 /** 00550 * @brief DFSDM module registers 00551 */ 00552 typedef struct 00553 { 00554 __IO uint32_t FLTCR1; /*!< DFSDM control register1, Address offset: 0x100 */ 00555 __IO uint32_t FLTCR2; /*!< DFSDM control register2, Address offset: 0x104 */ 00556 __IO uint32_t FLTISR; /*!< DFSDM interrupt and status register, Address offset: 0x108 */ 00557 __IO uint32_t FLTICR; /*!< DFSDM interrupt flag clear register, Address offset: 0x10C */ 00558 __IO uint32_t FLTJCHGR; /*!< DFSDM injected channel group selection register, Address offset: 0x110 */ 00559 __IO uint32_t FLTFCR; /*!< DFSDM filter control register, Address offset: 0x114 */ 00560 __IO uint32_t FLTJDATAR; /*!< DFSDM data register for injected group, Address offset: 0x118 */ 00561 __IO uint32_t FLTRDATAR; /*!< DFSDM data register for regular group, Address offset: 0x11C */ 00562 __IO uint32_t FLTAWHTR; /*!< DFSDM analog watchdog high threshold register, Address offset: 0x120 */ 00563 __IO uint32_t FLTAWLTR; /*!< DFSDM analog watchdog low threshold register, Address offset: 0x124 */ 00564 __IO uint32_t FLTAWSR; /*!< DFSDM analog watchdog status register Address offset: 0x128 */ 00565 __IO uint32_t FLTAWCFR; /*!< DFSDM analog watchdog clear flag register Address offset: 0x12C */ 00566 __IO uint32_t FLTEXMAX; /*!< DFSDM extreme detector maximum register, Address offset: 0x130 */ 00567 __IO uint32_t FLTEXMIN; /*!< DFSDM extreme detector minimum register Address offset: 0x134 */ 00568 __IO uint32_t FLTCNVTIMR; /*!< DFSDM conversion timer, Address offset: 0x138 */ 00569 } DFSDM_Filter_TypeDef_mort; 00570 00571 /** 00572 * @brief DFSDM channel configuration registers 00573 */ 00574 typedef struct 00575 { 00576 __IO uint32_t CHCFGR1; /*!< DFSDM channel configuration register1, Address offset: 0x00 */ 00577 __IO uint32_t CHCFGR2; /*!< DFSDM channel configuration register2, Address offset: 0x04 */ 00578 __IO uint32_t CHAWSCDR; /*!< DFSDM channel analog watchdog and 00579 short circuit detector register, Address offset: 0x08 */ 00580 __IO uint32_t CHWDATAR; /*!< DFSDM channel watchdog filter data register, Address offset: 0x0C */ 00581 __IO uint32_t CHDATINR; /*!< DFSDM channel data input register, Address offset: 0x10 */ 00582 } DFSDM_Channel_TypeDef_mort; 00583 00584 /* Legacy Defines */ 00585 #define DFSDM_TypeDef DFSDM_Filter_TypeDef_mort 00586 #endif /* STM32F412xG || STM32F413_423xx */ 00587 /** 00588 * @brief Debug MCU 00589 */ 00590 00591 typedef struct 00592 { 00593 __IO uint32_t IDCODE; /*!< MCU device ID code, Address offset: 0x00 */ 00594 __IO uint32_t CR; /*!< Debug MCU configuration register, Address offset: 0x04 */ 00595 __IO uint32_t APB1FZ; /*!< Debug MCU APB1 freeze register, Address offset: 0x08 */ 00596 __IO uint32_t APB2FZ; /*!< Debug MCU APB2 freeze register, Address offset: 0x0C */ 00597 }DBGMCU_TypeDef_mort; 00598 00599 /** 00600 * @brief DCMI_MORT 00601 */ 00602 00603 typedef struct 00604 { 00605 __IO uint32_t CR; /*!< DCMI_MORT control register 1, Address offset: 0x00 */ 00606 __IO uint32_t SR; /*!< DCMI_MORT status register, Address offset: 0x04 */ 00607 __IO uint32_t RISR; /*!< DCMI_MORT raw interrupt status register, Address offset: 0x08 */ 00608 __IO uint32_t IER; /*!< DCMI_MORT interrupt enable register, Address offset: 0x0C */ 00609 __IO uint32_t MISR; /*!< DCMI_MORT masked interrupt status register, Address offset: 0x10 */ 00610 __IO uint32_t ICR; /*!< DCMI_MORT interrupt clear register, Address offset: 0x14 */ 00611 __IO uint32_t ESCR; /*!< DCMI_MORT embedded synchronization code register, Address offset: 0x18 */ 00612 __IO uint32_t ESUR; /*!< DCMI_MORT embedded synchronization unmask register, Address offset: 0x1C */ 00613 __IO uint32_t CWSTRTR; /*!< DCMI_MORT crop window start, Address offset: 0x20 */ 00614 __IO uint32_t CWSIZER; /*!< DCMI_MORT crop window size, Address offset: 0x24 */ 00615 __IO uint32_t DR; /*!< DCMI_MORT data register, Address offset: 0x28 */ 00616 } DCMI_TypeDef_mort; 00617 00618 /** 00619 * @brief DMA Controller 00620 */ 00621 00622 typedef struct 00623 { 00624 __IO uint32_t CR; /*!< DMA stream x configuration register */ 00625 __IO uint32_t NDTR; /*!< DMA stream x number of data register */ 00626 __IO uint32_t PAR; /*!< DMA stream x peripheral address register */ 00627 __IO uint32_t M0AR; /*!< DMA stream x memory 0 address register */ 00628 __IO uint32_t M1AR; /*!< DMA stream x memory 1 address register */ 00629 __IO uint32_t FCR; /*!< DMA stream x FIFO control register */ 00630 } DMA_Stream_TypeDef_mort; 00631 00632 typedef struct 00633 { 00634 __IO uint32_t LISR; /*!< DMA low interrupt status register, Address offset: 0x00 */ 00635 __IO uint32_t HISR; /*!< DMA high interrupt status register, Address offset: 0x04 */ 00636 __IO uint32_t LIFCR; /*!< DMA low interrupt flag clear register, Address offset: 0x08 */ 00637 __IO uint32_t HIFCR; /*!< DMA high interrupt flag clear register, Address offset: 0x0C */ 00638 } DMA_TypeDef_mort; 00639 00640 /** 00641 * @brief DMA2D_MORT Controller 00642 */ 00643 00644 typedef struct 00645 { 00646 __IO uint32_t CR; /*!< DMA2D_MORT Control Register, Address offset: 0x00 */ 00647 __IO uint32_t ISR; /*!< DMA2D_MORT Interrupt Status Register, Address offset: 0x04 */ 00648 __IO uint32_t IFCR; /*!< DMA2D_MORT Interrupt Flag Clear Register, Address offset: 0x08 */ 00649 __IO uint32_t FGMAR; /*!< DMA2D_MORT Foreground Memory Address Register, Address offset: 0x0C */ 00650 __IO uint32_t FGOR; /*!< DMA2D_MORT Foreground Offset Register, Address offset: 0x10 */ 00651 __IO uint32_t BGMAR; /*!< DMA2D_MORT Background Memory Address Register, Address offset: 0x14 */ 00652 __IO uint32_t BGOR; /*!< DMA2D_MORT Background Offset Register, Address offset: 0x18 */ 00653 __IO uint32_t FGPFCCR; /*!< DMA2D_MORT Foreground PFC Control Register, Address offset: 0x1C */ 00654 __IO uint32_t FGCOLR; /*!< DMA2D_MORT Foreground Color Register, Address offset: 0x20 */ 00655 __IO uint32_t BGPFCCR; /*!< DMA2D_MORT Background PFC Control Register, Address offset: 0x24 */ 00656 __IO uint32_t BGCOLR; /*!< DMA2D_MORT Background Color Register, Address offset: 0x28 */ 00657 __IO uint32_t FGCMAR; /*!< DMA2D_MORT Foreground CLUT Memory Address Register, Address offset: 0x2C */ 00658 __IO uint32_t BGCMAR; /*!< DMA2D_MORT Background CLUT Memory Address Register, Address offset: 0x30 */ 00659 __IO uint32_t OPFCCR; /*!< DMA2D_MORT Output PFC Control Register, Address offset: 0x34 */ 00660 __IO uint32_t OCOLR; /*!< DMA2D_MORT Output Color Register, Address offset: 0x38 */ 00661 __IO uint32_t OMAR; /*!< DMA2D_MORT Output Memory Address Register, Address offset: 0x3C */ 00662 __IO uint32_t OOR; /*!< DMA2D_MORT Output Offset Register, Address offset: 0x40 */ 00663 __IO uint32_t NLR; /*!< DMA2D_MORT Number of Line Register, Address offset: 0x44 */ 00664 __IO uint32_t LWR; /*!< DMA2D_MORT Line Watermark Register, Address offset: 0x48 */ 00665 __IO uint32_t AMTCR; /*!< DMA2D_MORT AHB Master Timer Configuration Register, Address offset: 0x4C */ 00666 uint32_t RESERVED[236]; /*!< Reserved, 0x50-0x3FF */ 00667 __IO uint32_t FGCLUT[256]; /*!< DMA2D_MORT Foreground CLUT, Address offset:400-7FF */ 00668 __IO uint32_t BGCLUT[256]; /*!< DMA2D_MORT Background CLUT, Address offset:800-BFF */ 00669 } DMA2D_TypeDef_mort; 00670 00671 #if defined(STM32F469_479xx) 00672 /** 00673 * @brief DSI_MORT Controller 00674 */ 00675 00676 typedef struct 00677 { 00678 __IO uint32_t VR; /*!< DSI_MORT Host Version Register, Address offset: 0x00 */ 00679 __IO uint32_t CR; /*!< DSI_MORT Host Control Register, Address offset: 0x04 */ 00680 __IO uint32_t CCR; /*!< DSI_MORT HOST Clock Control Register, Address offset: 0x08 */ 00681 __IO uint32_t LVCIDR; /*!< DSI_MORT Host LTDC_MORT VCID Register, Address offset: 0x0C */ 00682 __IO uint32_t LCOLCR; /*!< DSI_MORT Host LTDC_MORT Color Coding Register, Address offset: 0x10 */ 00683 __IO uint32_t LPCR; /*!< DSI_MORT Host LTDC_MORT Polarity Configuration Register, Address offset: 0x14 */ 00684 __IO uint32_t LPMCR; /*!< DSI_MORT Host Low-Power Mode Configuration Register, Address offset: 0x18 */ 00685 uint32_t RESERVED0[4]; /*!< Reserved, 0x1C - 0x2B */ 00686 __IO uint32_t PCR; /*!< DSI_MORT Host Protocol Configuration Register, Address offset: 0x2C */ 00687 __IO uint32_t GVCIDR; /*!< DSI_MORT Host Generic VCID Register, Address offset: 0x30 */ 00688 __IO uint32_t MCR; /*!< DSI_MORT Host Mode Configuration Register, Address offset: 0x34 */ 00689 __IO uint32_t VMCR; /*!< DSI_MORT Host Video Mode Configuration Register, Address offset: 0x38 */ 00690 __IO uint32_t VPCR; /*!< DSI_MORT Host Video Packet Configuration Register, Address offset: 0x3C */ 00691 __IO uint32_t VCCR; /*!< DSI_MORT Host Video Chunks Configuration Register, Address offset: 0x40 */ 00692 __IO uint32_t VNPCR; /*!< DSI_MORT Host Video Null Packet Configuration Register, Address offset: 0x44 */ 00693 __IO uint32_t VHSACR; /*!< DSI_MORT Host Video HSA Configuration Register, Address offset: 0x48 */ 00694 __IO uint32_t VHBPCR; /*!< DSI_MORT Host Video HBP Configuration Register, Address offset: 0x4C */ 00695 __IO uint32_t VLCR; /*!< DSI_MORT Host Video Line Configuration Register, Address offset: 0x50 */ 00696 __IO uint32_t VVSACR; /*!< DSI_MORT Host Video VSA Configuration Register, Address offset: 0x54 */ 00697 __IO uint32_t VVBPCR; /*!< DSI_MORT Host Video VBP Configuration Register, Address offset: 0x58 */ 00698 __IO uint32_t VVFPCR; /*!< DSI_MORT Host Video VFP Configuration Register, Address offset: 0x5C */ 00699 __IO uint32_t VVACR; /*!< DSI_MORT Host Video VA Configuration Register, Address offset: 0x60 */ 00700 __IO uint32_t LCCR; /*!< DSI_MORT Host LTDC_MORT Command Configuration Register, Address offset: 0x64 */ 00701 __IO uint32_t CMCR; /*!< DSI_MORT Host Command Mode Configuration Register, Address offset: 0x68 */ 00702 __IO uint32_t GHCR; /*!< DSI_MORT Host Generic Header Configuration Register, Address offset: 0x6C */ 00703 __IO uint32_t GPDR; /*!< DSI_MORT Host Generic Payload Data Register, Address offset: 0x70 */ 00704 __IO uint32_t GPSR; /*!< DSI_MORT Host Generic Packet Status Register, Address offset: 0x74 */ 00705 __IO uint32_t TCCR[6]; /*!< DSI_MORT Host Timeout Counter Configuration Register, Address offset: 0x78-0x8F */ 00706 __IO uint32_t TDCR; /*!< DSI_MORT Host 3D Configuration Register, Address offset: 0x90 */ 00707 __IO uint32_t CLCR; /*!< DSI_MORT Host Clock Lane Configuration Register, Address offset: 0x94 */ 00708 __IO uint32_t CLTCR; /*!< DSI_MORT Host Clock Lane Timer Configuration Register, Address offset: 0x98 */ 00709 __IO uint32_t DLTCR; /*!< DSI_MORT Host Data Lane Timer Configuration Register, Address offset: 0x9C */ 00710 __IO uint32_t PCTLR; /*!< DSI_MORT Host PHY Control Register, Address offset: 0xA0 */ 00711 __IO uint32_t PCONFR; /*!< DSI_MORT Host PHY Configuration Register, Address offset: 0xA4 */ 00712 __IO uint32_t PUCR; /*!< DSI_MORT Host PHY ULPS Control Register, Address offset: 0xA8 */ 00713 __IO uint32_t PTTCR; /*!< DSI_MORT Host PHY TX Triggers Configuration Register, Address offset: 0xAC */ 00714 __IO uint32_t PSR; /*!< DSI_MORT Host PHY Status Register, Address offset: 0xB0 */ 00715 uint32_t RESERVED1[2]; /*!< Reserved, 0xB4 - 0xBB */ 00716 __IO uint32_t ISR[2]; /*!< DSI_MORT Host Interrupt & Status Register, Address offset: 0xBC-0xC3 */ 00717 __IO uint32_t IER[2]; /*!< DSI_MORT Host Interrupt Enable Register, Address offset: 0xC4-0xCB */ 00718 uint32_t RESERVED2[3]; /*!< Reserved, 0xD0 - 0xD7 */ 00719 __IO uint32_t FIR[2]; /*!< DSI_MORT Host Force Interrupt Register, Address offset: 0xD8-0xDF */ 00720 uint32_t RESERVED3[8]; /*!< Reserved, 0xE0 - 0xFF */ 00721 __IO uint32_t VSCR; /*!< DSI_MORT Host Video Shadow Control Register, Address offset: 0x100 */ 00722 uint32_t RESERVED4[2]; /*!< Reserved, 0x104 - 0x10B */ 00723 __IO uint32_t LCVCIDR; /*!< DSI_MORT Host LTDC_MORT Current VCID Register, Address offset: 0x10C */ 00724 __IO uint32_t LCCCR; /*!< DSI_MORT Host LTDC_MORT Current Color Coding Register, Address offset: 0x110 */ 00725 uint32_t RESERVED5; /*!< Reserved, 0x114 */ 00726 __IO uint32_t LPMCCR; /*!< DSI_MORT Host Low-power Mode Current Configuration Register, Address offset: 0x118 */ 00727 uint32_t RESERVED6[7]; /*!< Reserved, 0x11C - 0x137 */ 00728 __IO uint32_t VMCCR; /*!< DSI_MORT Host Video Mode Current Configuration Register, Address offset: 0x138 */ 00729 __IO uint32_t VPCCR; /*!< DSI_MORT Host Video Packet Current Configuration Register, Address offset: 0x13C */ 00730 __IO uint32_t VCCCR; /*!< DSI_MORT Host Video Chuncks Current Configuration Register, Address offset: 0x140 */ 00731 __IO uint32_t VNPCCR; /*!< DSI_MORT Host Video Null Packet Current Configuration Register, Address offset: 0x144 */ 00732 __IO uint32_t VHSACCR; /*!< DSI_MORT Host Video HSA Current Configuration Register, Address offset: 0x148 */ 00733 __IO uint32_t VHBPCCR; /*!< DSI_MORT Host Video HBP Current Configuration Register, Address offset: 0x14C */ 00734 __IO uint32_t VLCCR; /*!< DSI_MORT Host Video Line Current Configuration Register, Address offset: 0x150 */ 00735 __IO uint32_t VVSACCR; /*!< DSI_MORT Host Video VSA Current Configuration Register, Address offset: 0x154 */ 00736 __IO uint32_t VVBPCCR; /*!< DSI_MORT Host Video VBP Current Configuration Register, Address offset: 0x158 */ 00737 __IO uint32_t VVFPCCR; /*!< DSI_MORT Host Video VFP Current Configuration Register, Address offset: 0x15C */ 00738 __IO uint32_t VVACCR; /*!< DSI_MORT Host Video VA Current Configuration Register, Address offset: 0x160 */ 00739 uint32_t RESERVED7[11]; /*!< Reserved, 0x164 - 0x18F */ 00740 __IO uint32_t TDCCR; /*!< DSI_MORT Host 3D Current Configuration Register, Address offset: 0x190 */ 00741 uint32_t RESERVED8[155]; /*!< Reserved, 0x194 - 0x3FF */ 00742 __IO uint32_t WCFGR; /*!< DSI_MORT Wrapper Configuration Register, Address offset: 0x400 */ 00743 __IO uint32_t WCR; /*!< DSI_MORT Wrapper Control Register, Address offset: 0x404 */ 00744 __IO uint32_t WIER; /*!< DSI_MORT Wrapper Interrupt Enable Register, Address offset: 0x408 */ 00745 __IO uint32_t WISR; /*!< DSI_MORT Wrapper Interrupt and Status Register, Address offset: 0x40C */ 00746 __IO uint32_t WIFCR; /*!< DSI_MORT Wrapper Interrupt Flag Clear Register, Address offset: 0x410 */ 00747 uint32_t RESERVED9; /*!< Reserved, 0x414 */ 00748 __IO uint32_t WPCR[5]; /*!< DSI_MORT Wrapper PHY Configuration Register, Address offset: 0x418-0x42B */ 00749 uint32_t RESERVED10; /*!< Reserved, 0x42C */ 00750 __IO uint32_t WRPCR; /*!< DSI_MORT Wrapper Regulator and PLL Control Register, Address offset: 0x430 */ 00751 } DSI_TypeDef_mort; 00752 #endif /* STM32F469_479xx */ 00753 00754 /** 00755 * @brief Ethernet MAC 00756 */ 00757 00758 typedef struct 00759 { 00760 __IO uint32_t MACCR; 00761 __IO uint32_t MACFFR; 00762 __IO uint32_t MACHTHR; 00763 __IO uint32_t MACHTLR; 00764 __IO uint32_t MACMIIAR; 00765 __IO uint32_t MACMIIDR; 00766 __IO uint32_t MACFCR; 00767 __IO uint32_t MACVLANTR; /* 8 */ 00768 uint32_t RESERVED0[2]; 00769 __IO uint32_t MACRWUFFR; /* 11 */ 00770 __IO uint32_t MACPMTCSR; 00771 uint32_t RESERVED1[2]; 00772 __IO uint32_t MACSR; /* 15 */ 00773 __IO uint32_t MACIMR; 00774 __IO uint32_t MACA0HR; 00775 __IO uint32_t MACA0LR; 00776 __IO uint32_t MACA1HR; 00777 __IO uint32_t MACA1LR; 00778 __IO uint32_t MACA2HR; 00779 __IO uint32_t MACA2LR; 00780 __IO uint32_t MACA3HR; 00781 __IO uint32_t MACA3LR; /* 24 */ 00782 uint32_t RESERVED2[40]; 00783 __IO uint32_t MMCCR; /* 65 */ 00784 __IO uint32_t MMCRIR; 00785 __IO uint32_t MMCTIR; 00786 __IO uint32_t MMCRIMR; 00787 __IO uint32_t MMCTIMR; /* 69 */ 00788 uint32_t RESERVED3[14]; 00789 __IO uint32_t MMCTGFSCCR; /* 84 */ 00790 __IO uint32_t MMCTGFMSCCR; 00791 uint32_t RESERVED4[5]; 00792 __IO uint32_t MMCTGFCR; 00793 uint32_t RESERVED5[10]; 00794 __IO uint32_t MMCRFCECR; 00795 __IO uint32_t MMCRFAECR; 00796 uint32_t RESERVED6[10]; 00797 __IO uint32_t MMCRGUFCR; 00798 uint32_t RESERVED7[334]; 00799 __IO uint32_t PTPTSCR; 00800 __IO uint32_t PTPSSIR; 00801 __IO uint32_t PTPTSHR; 00802 __IO uint32_t PTPTSLR; 00803 __IO uint32_t PTPTSHUR; 00804 __IO uint32_t PTPTSLUR; 00805 __IO uint32_t PTPTSAR; 00806 __IO uint32_t PTPTTHR; 00807 __IO uint32_t PTPTTLR; 00808 __IO uint32_t RESERVED8; 00809 __IO uint32_t PTPTSSR; 00810 uint32_t RESERVED9[565]; 00811 __IO uint32_t DMABMR; 00812 __IO uint32_t DMATPDR; 00813 __IO uint32_t DMARPDR; 00814 __IO uint32_t DMARDLAR; 00815 __IO uint32_t DMATDLAR; 00816 __IO uint32_t DMASR; 00817 __IO uint32_t DMAOMR; 00818 __IO uint32_t DMAIER; 00819 __IO uint32_t DMAMFBOCR; 00820 __IO uint32_t DMARSWTR; 00821 uint32_t RESERVED10[8]; 00822 __IO uint32_t DMACHTDR; 00823 __IO uint32_t DMACHRDR; 00824 __IO uint32_t DMACHTBAR; 00825 __IO uint32_t DMACHRBAR; 00826 } ETH_TypeDef_mort; 00827 00828 /** 00829 * @brief External Interrupt/Event Controller 00830 */ 00831 00832 typedef struct 00833 { 00834 __IO uint32_t IMR; /*!< EXTI_MORT Interrupt mask register, Address offset: 0x00 */ 00835 __IO uint32_t EMR; /*!< EXTI_MORT Event mask register, Address offset: 0x04 */ 00836 __IO uint32_t RTSR; /*!< EXTI_MORT Rising trigger selection register, Address offset: 0x08 */ 00837 __IO uint32_t FTSR; /*!< EXTI_MORT Falling trigger selection register, Address offset: 0x0C */ 00838 __IO uint32_t SWIER; /*!< EXTI_MORT Software interrupt event register, Address offset: 0x10 */ 00839 __IO uint32_t PR; /*!< EXTI_MORT Pending register, Address offset: 0x14 */ 00840 } EXTI_TypeDef_mort; 00841 00842 /** 00843 * @brief FLASH_MORT Registers 00844 */ 00845 00846 typedef struct 00847 { 00848 __IO uint32_t ACR; /*!< FLASH_MORT access control register, Address offset: 0x00 */ 00849 __IO uint32_t KEYR; /*!< FLASH_MORT key register, Address offset: 0x04 */ 00850 __IO uint32_t OPTKEYR; /*!< FLASH_MORT option key register, Address offset: 0x08 */ 00851 __IO uint32_t SR; /*!< FLASH_MORT status register, Address offset: 0x0C */ 00852 __IO uint32_t CR; /*!< FLASH_MORT control register, Address offset: 0x10 */ 00853 __IO uint32_t OPTCR; /*!< FLASH_MORT option control register , Address offset: 0x14 */ 00854 __IO uint32_t OPTCR1; /*!< FLASH_MORT option control register 1, Address offset: 0x18 */ 00855 } FLASH_TypeDef_mort; 00856 00857 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 00858 /** 00859 * @brief Flexible Static Memory Controller 00860 */ 00861 00862 typedef struct 00863 { 00864 __IO uint32_t BTCR[8]; /*!< NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR), Address offset: 0x00-1C */ 00865 } FSMC_Bank1_TypeDef_mort; 00866 00867 /** 00868 * @brief Flexible Static Memory Controller Bank1E 00869 */ 00870 00871 typedef struct 00872 { 00873 __IO uint32_t BWTR[7]; /*!< NOR/PSRAM write timing registers, Address offset: 0x104-0x11C */ 00874 } FSMC_Bank1E_TypeDef_mort; 00875 00876 /** 00877 * @brief Flexible Static Memory Controller Bank2 00878 */ 00879 00880 typedef struct 00881 { 00882 __IO uint32_t PCR2; /*!< NAND FLASH_MORT control register 2, Address offset: 0x60 */ 00883 __IO uint32_t SR2; /*!< NAND FLASH_MORT FIFO status and interrupt register 2, Address offset: 0x64 */ 00884 __IO uint32_t PMEM2; /*!< NAND FLASH_MORT Common memory space timing register 2, Address offset: 0x68 */ 00885 __IO uint32_t PATT2; /*!< NAND FLASH_MORT Attribute memory space timing register 2, Address offset: 0x6C */ 00886 uint32_t RESERVED0; /*!< Reserved, 0x70 */ 00887 __IO uint32_t ECCR2; /*!< NAND FLASH_MORT ECC result registers 2, Address offset: 0x74 */ 00888 } FSMC_Bank2_TypeDef_mort; 00889 00890 /** 00891 * @brief Flexible Static Memory Controller Bank3 00892 */ 00893 00894 typedef struct 00895 { 00896 __IO uint32_t PCR3; /*!< NAND FLASH_MORT control register 3, Address offset: 0x80 */ 00897 __IO uint32_t SR3; /*!< NAND FLASH_MORT FIFO status and interrupt register 3, Address offset: 0x84 */ 00898 __IO uint32_t PMEM3; /*!< NAND FLASH_MORT Common memory space timing register 3, Address offset: 0x88 */ 00899 __IO uint32_t PATT3; /*!< NAND FLASH_MORT Attribute memory space timing register 3, Address offset: 0x8C */ 00900 uint32_t RESERVED0; /*!< Reserved, 0x90 */ 00901 __IO uint32_t ECCR3; /*!< NAND FLASH_MORT ECC result registers 3, Address offset: 0x94 */ 00902 } FSMC_Bank3_TypeDef_mort; 00903 00904 /** 00905 * @brief Flexible Static Memory Controller Bank4 00906 */ 00907 00908 typedef struct 00909 { 00910 __IO uint32_t PCR4; /*!< PC Card control register 4, Address offset: 0xA0 */ 00911 __IO uint32_t SR4; /*!< PC Card FIFO status and interrupt register 4, Address offset: 0xA4 */ 00912 __IO uint32_t PMEM4; /*!< PC Card Common memory space timing register 4, Address offset: 0xA8 */ 00913 __IO uint32_t PATT4; /*!< PC Card Attribute memory space timing register 4, Address offset: 0xAC */ 00914 __IO uint32_t PIO4; /*!< PC Card I/O space timing register 4, Address offset: 0xB0 */ 00915 } FSMC_Bank4_TypeDef_mort; 00916 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 00917 00918 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 00919 /** 00920 * @brief Flexible Memory Controller 00921 */ 00922 00923 typedef struct 00924 { 00925 __IO uint32_t BTCR[8]; /*!< NOR/PSRAM chip-select control register(BCR) and chip-select timing register(BTR), Address offset: 0x00-1C */ 00926 } FMC_Bank1_TypeDef_mort; 00927 00928 /** 00929 * @brief Flexible Memory Controller Bank1E 00930 */ 00931 00932 typedef struct 00933 { 00934 __IO uint32_t BWTR[7]; /*!< NOR/PSRAM write timing registers, Address offset: 0x104-0x11C */ 00935 } FMC_Bank1E_TypeDef_mort; 00936 00937 /** 00938 * @brief Flexible Memory Controller Bank2 00939 */ 00940 00941 typedef struct 00942 { 00943 __IO uint32_t PCR2; /*!< NAND FLASH_MORT control register 2, Address offset: 0x60 */ 00944 __IO uint32_t SR2; /*!< NAND FLASH_MORT FIFO status and interrupt register 2, Address offset: 0x64 */ 00945 __IO uint32_t PMEM2; /*!< NAND FLASH_MORT Common memory space timing register 2, Address offset: 0x68 */ 00946 __IO uint32_t PATT2; /*!< NAND FLASH_MORT Attribute memory space timing register 2, Address offset: 0x6C */ 00947 uint32_t RESERVED0; /*!< Reserved, 0x70 */ 00948 __IO uint32_t ECCR2; /*!< NAND FLASH_MORT ECC result registers 2, Address offset: 0x74 */ 00949 } FMC_Bank2_TypeDef_mort; 00950 00951 /** 00952 * @brief Flexible Memory Controller Bank3 00953 */ 00954 00955 typedef struct 00956 { 00957 __IO uint32_t PCR3; /*!< NAND FLASH_MORT control register 3, Address offset: 0x80 */ 00958 __IO uint32_t SR3; /*!< NAND FLASH_MORT FIFO status and interrupt register 3, Address offset: 0x84 */ 00959 __IO uint32_t PMEM3; /*!< NAND FLASH_MORT Common memory space timing register 3, Address offset: 0x88 */ 00960 __IO uint32_t PATT3; /*!< NAND FLASH_MORT Attribute memory space timing register 3, Address offset: 0x8C */ 00961 uint32_t RESERVED0; /*!< Reserved, 0x90 */ 00962 __IO uint32_t ECCR3; /*!< NAND FLASH_MORT ECC result registers 3, Address offset: 0x94 */ 00963 } FMC_Bank3_TypeDef_mort; 00964 00965 /** 00966 * @brief Flexible Memory Controller Bank4 00967 */ 00968 00969 typedef struct 00970 { 00971 __IO uint32_t PCR4; /*!< PC Card control register 4, Address offset: 0xA0 */ 00972 __IO uint32_t SR4; /*!< PC Card FIFO status and interrupt register 4, Address offset: 0xA4 */ 00973 __IO uint32_t PMEM4; /*!< PC Card Common memory space timing register 4, Address offset: 0xA8 */ 00974 __IO uint32_t PATT4; /*!< PC Card Attribute memory space timing register 4, Address offset: 0xAC */ 00975 __IO uint32_t PIO4; /*!< PC Card I/O space timing register 4, Address offset: 0xB0 */ 00976 } FMC_Bank4_TypeDef_mort; 00977 00978 /** 00979 * @brief Flexible Memory Controller Bank5_6 00980 */ 00981 00982 typedef struct 00983 { 00984 __IO uint32_t SDCR[2]; /*!< SDRAM Control registers , Address offset: 0x140-0x144 */ 00985 __IO uint32_t SDTR[2]; /*!< SDRAM Timing registers , Address offset: 0x148-0x14C */ 00986 __IO uint32_t SDCMR; /*!< SDRAM Command Mode register, Address offset: 0x150 */ 00987 __IO uint32_t SDRTR; /*!< SDRAM Refresh Timer register, Address offset: 0x154 */ 00988 __IO uint32_t SDSR; /*!< SDRAM Status register, Address offset: 0x158 */ 00989 } FMC_Bank5_6_TypeDef_mort; 00990 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 00991 00992 /** 00993 * @brief General Purpose I/O 00994 */ 00995 00996 typedef struct 00997 { 00998 __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ 00999 __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ 01000 __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */ 01001 __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */ 01002 __IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ 01003 __IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ 01004 __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low register, Address offset: 0x18 */ 01005 __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, Address offset: 0x1A */ 01006 __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ 01007 __IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */ 01008 } GPIO_TypeDef_mort; 01009 01010 /** 01011 * @brief System configuration controller 01012 */ 01013 01014 typedef struct 01015 { 01016 __IO uint32_t MEMRMP; /*!< SYSCFG_MORT memory remap register, Address offset: 0x00 */ 01017 __IO uint32_t PMC; /*!< SYSCFG_MORT peripheral mode configuration register, Address offset: 0x04 */ 01018 __IO uint32_t EXTICR[4]; /*!< SYSCFG_MORT external interrupt configuration registers, Address offset: 0x08-0x14 */ 01019 #if defined (STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) 01020 uint32_t RESERVED; /*!< Reserved, 0x18 */ 01021 __IO uint32_t CFGR2; /*!< Reserved, 0x1C */ 01022 __IO uint32_t CMPCR; /*!< SYSCFG_MORT Compensation cell control register, Address offset: 0x20 */ 01023 uint32_t RESERVED1[2]; /*!< Reserved, 0x24-0x28 */ 01024 __IO uint32_t CFGR; /*!< SYSCFG_MORT Configuration register, Address offset: 0x2C */ 01025 #else /* STM32F40_41xxx || STM32F427_437xx || STM32F429_439xx || STM32F401xx || STM32F411xE || STM32F446xx_MORT || STM32F469_479xx */ 01026 uint32_t RESERVED[2]; /*!< Reserved, 0x18-0x1C */ 01027 __IO uint32_t CMPCR; /*!< SYSCFG_MORT Compensation cell control register, Address offset: 0x20 */ 01028 #endif /* STM32F410xx || defined(STM32F412xG) || defined(STM32F413_423xx) */ 01029 #if defined(STM32F413_423xx) 01030 __IO uint32_t MCHDLYCR; /*!< SYSCFG_MORT multi-channel delay register, Address offset: 0x30 */ 01031 #endif /* STM32F413_423xx */ 01032 } SYSCFG_TypeDef_mort; 01033 01034 /** 01035 * @brief Inter-integrated Circuit Interface 01036 */ 01037 01038 typedef struct 01039 { 01040 __IO uint16_t CR1; /*!< I2C Control register 1, Address offset: 0x00 */ 01041 uint16_t RESERVED0; /*!< Reserved, 0x02 */ 01042 __IO uint16_t CR2; /*!< I2C Control register 2, Address offset: 0x04 */ 01043 uint16_t RESERVED1; /*!< Reserved, 0x06 */ 01044 __IO uint16_t OAR1; /*!< I2C Own address register 1, Address offset: 0x08 */ 01045 uint16_t RESERVED2; /*!< Reserved, 0x0A */ 01046 __IO uint16_t OAR2; /*!< I2C Own address register 2, Address offset: 0x0C */ 01047 uint16_t RESERVED3; /*!< Reserved, 0x0E */ 01048 __IO uint16_t DR; /*!< I2C Data register, Address offset: 0x10 */ 01049 uint16_t RESERVED4; /*!< Reserved, 0x12 */ 01050 __IO uint16_t SR1; /*!< I2C Status register 1, Address offset: 0x14 */ 01051 uint16_t RESERVED5; /*!< Reserved, 0x16 */ 01052 __IO uint16_t SR2; /*!< I2C Status register 2, Address offset: 0x18 */ 01053 uint16_t RESERVED6; /*!< Reserved, 0x1A */ 01054 __IO uint16_t CCR; /*!< I2C Clock control register, Address offset: 0x1C */ 01055 uint16_t RESERVED7; /*!< Reserved, 0x1E */ 01056 __IO uint16_t TRISE; /*!< I2C TRISE register, Address offset: 0x20 */ 01057 uint16_t RESERVED8; /*!< Reserved, 0x22 */ 01058 __IO uint16_t FLTR; /*!< I2C FLTR register, Address offset: 0x24 */ 01059 uint16_t RESERVED9; /*!< Reserved, 0x26 */ 01060 } I2C_TypeDef_mort; 01061 01062 #if defined(STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 01063 /** 01064 * @brief Inter-integrated Circuit Interface 01065 */ 01066 01067 typedef struct 01068 { 01069 __IO uint32_t CR1; /*!< FMPI2C Control register 1, Address offset: 0x00 */ 01070 __IO uint32_t CR2; /*!< FMPI2C Control register 2, Address offset: 0x04 */ 01071 __IO uint32_t OAR1; /*!< FMPI2C Own address 1 register, Address offset: 0x08 */ 01072 __IO uint32_t OAR2; /*!< FMPI2C Own address 2 register, Address offset: 0x0C */ 01073 __IO uint32_t TIMINGR; /*!< FMPI2C Timing register, Address offset: 0x10 */ 01074 __IO uint32_t TIMEOUTR; /*!< FMPI2C Timeout register, Address offset: 0x14 */ 01075 __IO uint32_t ISR; /*!< FMPI2C Interrupt and status register, Address offset: 0x18 */ 01076 __IO uint32_t ICR; /*!< FMPI2C Interrupt clear register, Address offset: 0x1C */ 01077 __IO uint32_t PECR; /*!< FMPI2C PEC register, Address offset: 0x20 */ 01078 __IO uint32_t RXDR; /*!< FMPI2C Receive data register, Address offset: 0x24 */ 01079 __IO uint32_t TXDR; /*!< FMPI2C Transmit data register, Address offset: 0x28 */ 01080 }FMPI2C_TypeDef_mort; 01081 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 01082 01083 /** 01084 * @brief Independent WATCHDOG 01085 */ 01086 01087 typedef struct 01088 { 01089 __IO uint32_t KR; /*!< IWDG_MORT Key register, Address offset: 0x00 */ 01090 __IO uint32_t PR; /*!< IWDG_MORT Prescaler register, Address offset: 0x04 */ 01091 __IO uint32_t RLR; /*!< IWDG_MORT Reload register, Address offset: 0x08 */ 01092 __IO uint32_t SR; /*!< IWDG_MORT Status register, Address offset: 0x0C */ 01093 } IWDG_TypeDef_mort; 01094 01095 /** 01096 * @brief LCD-TFT Display Controller 01097 */ 01098 01099 typedef struct 01100 { 01101 uint32_t RESERVED0[2]; /*!< Reserved, 0x00-0x04 */ 01102 __IO uint32_t SSCR; /*!< LTDC_MORT Synchronization Size Configuration Register, Address offset: 0x08 */ 01103 __IO uint32_t BPCR; /*!< LTDC_MORT Back Porch Configuration Register, Address offset: 0x0C */ 01104 __IO uint32_t AWCR; /*!< LTDC_MORT Active Width Configuration Register, Address offset: 0x10 */ 01105 __IO uint32_t TWCR; /*!< LTDC_MORT Total Width Configuration Register, Address offset: 0x14 */ 01106 __IO uint32_t GCR; /*!< LTDC_MORT Global Control Register, Address offset: 0x18 */ 01107 uint32_t RESERVED1[2]; /*!< Reserved, 0x1C-0x20 */ 01108 __IO uint32_t SRCR; /*!< LTDC_MORT Shadow Reload Configuration Register, Address offset: 0x24 */ 01109 uint32_t RESERVED2[1]; /*!< Reserved, 0x28 */ 01110 __IO uint32_t BCCR; /*!< LTDC_MORT Background Color Configuration Register, Address offset: 0x2C */ 01111 uint32_t RESERVED3[1]; /*!< Reserved, 0x30 */ 01112 __IO uint32_t IER; /*!< LTDC_MORT Interrupt Enable Register, Address offset: 0x34 */ 01113 __IO uint32_t ISR; /*!< LTDC_MORT Interrupt Status Register, Address offset: 0x38 */ 01114 __IO uint32_t ICR; /*!< LTDC_MORT Interrupt Clear Register, Address offset: 0x3C */ 01115 __IO uint32_t LIPCR; /*!< LTDC_MORT Line Interrupt Position Configuration Register, Address offset: 0x40 */ 01116 __IO uint32_t CPSR; /*!< LTDC_MORT Current Position Status Register, Address offset: 0x44 */ 01117 __IO uint32_t CDSR; /*!< LTDC_MORT Current Display Status Register, Address offset: 0x48 */ 01118 } LTDC_TypeDef_mort; 01119 01120 /** 01121 * @brief LCD-TFT Display layer x Controller 01122 */ 01123 01124 typedef struct 01125 { 01126 __IO uint32_t CR; /*!< LTDC_MORT Layerx Control Register Address offset: 0x84 */ 01127 __IO uint32_t WHPCR; /*!< LTDC_MORT Layerx Window Horizontal Position Configuration Register Address offset: 0x88 */ 01128 __IO uint32_t WVPCR; /*!< LTDC_MORT Layerx Window Vertical Position Configuration Register Address offset: 0x8C */ 01129 __IO uint32_t CKCR; /*!< LTDC_MORT Layerx Color Keying Configuration Register Address offset: 0x90 */ 01130 __IO uint32_t PFCR; /*!< LTDC_MORT Layerx Pixel Format Configuration Register Address offset: 0x94 */ 01131 __IO uint32_t CACR; /*!< LTDC_MORT Layerx Constant Alpha Configuration Register Address offset: 0x98 */ 01132 __IO uint32_t DCCR; /*!< LTDC_MORT Layerx Default Color Configuration Register Address offset: 0x9C */ 01133 __IO uint32_t BFCR; /*!< LTDC_MORT Layerx Blending Factors Configuration Register Address offset: 0xA0 */ 01134 uint32_t RESERVED0[2]; /*!< Reserved */ 01135 __IO uint32_t CFBAR; /*!< LTDC_MORT Layerx Color Frame Buffer Address Register Address offset: 0xAC */ 01136 __IO uint32_t CFBLR; /*!< LTDC_MORT Layerx Color Frame Buffer Length Register Address offset: 0xB0 */ 01137 __IO uint32_t CFBLNR; /*!< LTDC_MORT Layerx ColorFrame Buffer Line Number Register Address offset: 0xB4 */ 01138 uint32_t RESERVED1[3]; /*!< Reserved */ 01139 __IO uint32_t CLUTWR; /*!< LTDC_MORT Layerx CLUT Write Register Address offset: 0x144 */ 01140 01141 } LTDC_Layer_TypeDef_mort; 01142 01143 /** 01144 * @brief Power Control 01145 */ 01146 01147 typedef struct 01148 { 01149 __IO uint32_t CR; /*!< PWR_MORT power control register, Address offset: 0x00 */ 01150 __IO uint32_t CSR; /*!< PWR_MORT power control/status register, Address offset: 0x04 */ 01151 } PWR_TypeDef_mort; 01152 01153 /** 01154 * @brief Reset and Clock Control 01155 */ 01156 01157 typedef struct 01158 { 01159 __IO uint32_t CR; /*!< RCC_MORT clock control register, Address offset: 0x00 */ 01160 __IO uint32_t PLLCFGR; /*!< RCC_MORT PLL configuration register, Address offset: 0x04 */ 01161 __IO uint32_t CFGR; /*!< RCC_MORT clock configuration register, Address offset: 0x08 */ 01162 __IO uint32_t CIR; /*!< RCC_MORT clock interrupt register, Address offset: 0x0C */ 01163 __IO uint32_t AHB1RSTR; /*!< RCC_MORT AHB1 peripheral reset register, Address offset: 0x10 */ 01164 __IO uint32_t AHB2RSTR; /*!< RCC_MORT AHB2 peripheral reset register, Address offset: 0x14 */ 01165 __IO uint32_t AHB3RSTR; /*!< RCC_MORT AHB3 peripheral reset register, Address offset: 0x18 */ 01166 uint32_t RESERVED0; /*!< Reserved, 0x1C */ 01167 __IO uint32_t APB1RSTR; /*!< RCC_MORT APB1 peripheral reset register, Address offset: 0x20 */ 01168 __IO uint32_t APB2RSTR; /*!< RCC_MORT APB2 peripheral reset register, Address offset: 0x24 */ 01169 uint32_t RESERVED1[2]; /*!< Reserved, 0x28-0x2C */ 01170 __IO uint32_t AHB1ENR; /*!< RCC_MORT AHB1 peripheral clock register, Address offset: 0x30 */ 01171 __IO uint32_t AHB2ENR; /*!< RCC_MORT AHB2 peripheral clock register, Address offset: 0x34 */ 01172 __IO uint32_t AHB3ENR; /*!< RCC_MORT AHB3 peripheral clock register, Address offset: 0x38 */ 01173 uint32_t RESERVED2; /*!< Reserved, 0x3C */ 01174 __IO uint32_t APB1ENR; /*!< RCC_MORT APB1 peripheral clock enable register, Address offset: 0x40 */ 01175 __IO uint32_t APB2ENR; /*!< RCC_MORT APB2 peripheral clock enable register, Address offset: 0x44 */ 01176 uint32_t RESERVED3[2]; /*!< Reserved, 0x48-0x4C */ 01177 __IO uint32_t AHB1LPENR; /*!< RCC_MORT AHB1 peripheral clock enable in low power mode register, Address offset: 0x50 */ 01178 __IO uint32_t AHB2LPENR; /*!< RCC_MORT AHB2 peripheral clock enable in low power mode register, Address offset: 0x54 */ 01179 __IO uint32_t AHB3LPENR; /*!< RCC_MORT AHB3 peripheral clock enable in low power mode register, Address offset: 0x58 */ 01180 uint32_t RESERVED4; /*!< Reserved, 0x5C */ 01181 __IO uint32_t APB1LPENR; /*!< RCC_MORT APB1 peripheral clock enable in low power mode register, Address offset: 0x60 */ 01182 __IO uint32_t APB2LPENR; /*!< RCC_MORT APB2 peripheral clock enable in low power mode register, Address offset: 0x64 */ 01183 uint32_t RESERVED5[2]; /*!< Reserved, 0x68-0x6C */ 01184 __IO uint32_t BDCR; /*!< RCC_MORT Backup domain control register, Address offset: 0x70 */ 01185 __IO uint32_t CSR; /*!< RCC_MORT clock control & status register, Address offset: 0x74 */ 01186 uint32_t RESERVED6[2]; /*!< Reserved, 0x78-0x7C */ 01187 __IO uint32_t SSCGR; /*!< RCC_MORT spread spectrum clock generation register, Address offset: 0x80 */ 01188 __IO uint32_t PLLI2SCFGR; /*!< RCC_MORT PLLI2S configuration register, Address offset: 0x84 */ 01189 __IO uint32_t PLLSAICFGR; /*!< RCC_MORT PLLSAI configuration register, Address offset: 0x88 */ 01190 __IO uint32_t DCKCFGR; /*!< RCC_MORT Dedicated Clocks configuration register, Address offset: 0x8C */ 01191 __IO uint32_t CKGATENR; /*!< RCC_MORT Clocks Gated Enable Register, Address offset: 0x90 */ /* Only for STM32F412xG, STM32413_423xx and STM32F446xx_MORT devices */ 01192 __IO uint32_t DCKCFGR2; /*!< RCC_MORT Dedicated Clocks configuration register 2, Address offset: 0x94 */ /* Only for STM32F410xx, STM32F412xG, STM32413_423xx and STM32F446xx_MORT devices */ 01193 01194 } RCC_TypeDef_mort; 01195 01196 /** 01197 * @brief Real-Time Clock 01198 */ 01199 01200 typedef struct 01201 { 01202 __IO uint32_t TR; /*!< RTC_MORT time register, Address offset: 0x00 */ 01203 __IO uint32_t DR; /*!< RTC_MORT date register, Address offset: 0x04 */ 01204 __IO uint32_t CR; /*!< RTC_MORT control register, Address offset: 0x08 */ 01205 __IO uint32_t ISR; /*!< RTC_MORT initialization and status register, Address offset: 0x0C */ 01206 __IO uint32_t PRER; /*!< RTC_MORT prescaler register, Address offset: 0x10 */ 01207 __IO uint32_t WUTR; /*!< RTC_MORT wakeup timer register, Address offset: 0x14 */ 01208 __IO uint32_t CALIBR; /*!< RTC_MORT calibration register, Address offset: 0x18 */ 01209 __IO uint32_t ALRMAR; /*!< RTC_MORT alarm A register, Address offset: 0x1C */ 01210 __IO uint32_t ALRMBR; /*!< RTC_MORT alarm B register, Address offset: 0x20 */ 01211 __IO uint32_t WPR; /*!< RTC_MORT write protection register, Address offset: 0x24 */ 01212 __IO uint32_t SSR; /*!< RTC_MORT sub second register, Address offset: 0x28 */ 01213 __IO uint32_t SHIFTR; /*!< RTC_MORT shift control register, Address offset: 0x2C */ 01214 __IO uint32_t TSTR; /*!< RTC_MORT time stamp time register, Address offset: 0x30 */ 01215 __IO uint32_t TSDR; /*!< RTC_MORT time stamp date register, Address offset: 0x34 */ 01216 __IO uint32_t TSSSR; /*!< RTC_MORT time-stamp sub second register, Address offset: 0x38 */ 01217 __IO uint32_t CALR; /*!< RTC_MORT calibration register, Address offset: 0x3C */ 01218 __IO uint32_t TAFCR; /*!< RTC_MORT tamper and alternate function configuration register, Address offset: 0x40 */ 01219 __IO uint32_t ALRMASSR;/*!< RTC_MORT alarm A sub second register, Address offset: 0x44 */ 01220 __IO uint32_t ALRMBSSR;/*!< RTC_MORT alarm B sub second register, Address offset: 0x48 */ 01221 uint32_t RESERVED7; /*!< Reserved, 0x4C */ 01222 __IO uint32_t BKP0R; /*!< RTC_MORT backup register 1, Address offset: 0x50 */ 01223 __IO uint32_t BKP1R; /*!< RTC_MORT backup register 1, Address offset: 0x54 */ 01224 __IO uint32_t BKP2R; /*!< RTC_MORT backup register 2, Address offset: 0x58 */ 01225 __IO uint32_t BKP3R; /*!< RTC_MORT backup register 3, Address offset: 0x5C */ 01226 __IO uint32_t BKP4R; /*!< RTC_MORT backup register 4, Address offset: 0x60 */ 01227 __IO uint32_t BKP5R; /*!< RTC_MORT backup register 5, Address offset: 0x64 */ 01228 __IO uint32_t BKP6R; /*!< RTC_MORT backup register 6, Address offset: 0x68 */ 01229 __IO uint32_t BKP7R; /*!< RTC_MORT backup register 7, Address offset: 0x6C */ 01230 __IO uint32_t BKP8R; /*!< RTC_MORT backup register 8, Address offset: 0x70 */ 01231 __IO uint32_t BKP9R; /*!< RTC_MORT backup register 9, Address offset: 0x74 */ 01232 __IO uint32_t BKP10R; /*!< RTC_MORT backup register 10, Address offset: 0x78 */ 01233 __IO uint32_t BKP11R; /*!< RTC_MORT backup register 11, Address offset: 0x7C */ 01234 __IO uint32_t BKP12R; /*!< RTC_MORT backup register 12, Address offset: 0x80 */ 01235 __IO uint32_t BKP13R; /*!< RTC_MORT backup register 13, Address offset: 0x84 */ 01236 __IO uint32_t BKP14R; /*!< RTC_MORT backup register 14, Address offset: 0x88 */ 01237 __IO uint32_t BKP15R; /*!< RTC_MORT backup register 15, Address offset: 0x8C */ 01238 __IO uint32_t BKP16R; /*!< RTC_MORT backup register 16, Address offset: 0x90 */ 01239 __IO uint32_t BKP17R; /*!< RTC_MORT backup register 17, Address offset: 0x94 */ 01240 __IO uint32_t BKP18R; /*!< RTC_MORT backup register 18, Address offset: 0x98 */ 01241 __IO uint32_t BKP19R; /*!< RTC_MORT backup register 19, Address offset: 0x9C */ 01242 } RTC_TypeDef_mort; 01243 01244 01245 /** 01246 * @brief Serial Audio Interface 01247 */ 01248 01249 typedef struct 01250 { 01251 __IO uint32_t GCR; /*!< SAI global configuration register, Address offset: 0x00 */ 01252 } SAI_TypeDef_mort; 01253 01254 typedef struct 01255 { 01256 __IO uint32_t CR1; /*!< SAI block x configuration register 1, Address offset: 0x04 */ 01257 __IO uint32_t CR2; /*!< SAI block x configuration register 2, Address offset: 0x08 */ 01258 __IO uint32_t FRCR; /*!< SAI block x frame configuration register, Address offset: 0x0C */ 01259 __IO uint32_t SLOTR; /*!< SAI block x slot register, Address offset: 0x10 */ 01260 __IO uint32_t IMR; /*!< SAI block x interrupt mask register, Address offset: 0x14 */ 01261 __IO uint32_t SR; /*!< SAI block x status register, Address offset: 0x18 */ 01262 __IO uint32_t CLRFR; /*!< SAI block x clear flag register, Address offset: 0x1C */ 01263 __IO uint32_t DR; /*!< SAI block x data register, Address offset: 0x20 */ 01264 } SAI_Block_TypeDef_mort; 01265 01266 /** 01267 * @brief SD host Interface 01268 */ 01269 01270 typedef struct 01271 { 01272 __IO uint32_t POWER; /*!< SDIO_MORT power control register, Address offset: 0x00 */ 01273 __IO uint32_t CLKCR; /*!< SDI clock control register, Address offset: 0x04 */ 01274 __IO uint32_t ARG; /*!< SDIO_MORT argument register, Address offset: 0x08 */ 01275 __IO uint32_t CMD; /*!< SDIO_MORT command register, Address offset: 0x0C */ 01276 __I uint32_t RESPCMD; /*!< SDIO_MORT command response register, Address offset: 0x10 */ 01277 __I uint32_t RESP1; /*!< SDIO_MORT response 1 register, Address offset: 0x14 */ 01278 __I uint32_t RESP2; /*!< SDIO_MORT response 2 register, Address offset: 0x18 */ 01279 __I uint32_t RESP3; /*!< SDIO_MORT response 3 register, Address offset: 0x1C */ 01280 __I uint32_t RESP4; /*!< SDIO_MORT response 4 register, Address offset: 0x20 */ 01281 __IO uint32_t DTIMER; /*!< SDIO_MORT data timer register, Address offset: 0x24 */ 01282 __IO uint32_t DLEN; /*!< SDIO_MORT data length register, Address offset: 0x28 */ 01283 __IO uint32_t DCTRL; /*!< SDIO_MORT data control register, Address offset: 0x2C */ 01284 __I uint32_t DCOUNT; /*!< SDIO_MORT data counter register, Address offset: 0x30 */ 01285 __I uint32_t STA; /*!< SDIO_MORT status register, Address offset: 0x34 */ 01286 __IO uint32_t ICR; /*!< SDIO_MORT interrupt clear register, Address offset: 0x38 */ 01287 __IO uint32_t MASK; /*!< SDIO_MORT mask register, Address offset: 0x3C */ 01288 uint32_t RESERVED0[2]; /*!< Reserved, 0x40-0x44 */ 01289 __I uint32_t FIFOCNT; /*!< SDIO_MORT FIFO counter register, Address offset: 0x48 */ 01290 uint32_t RESERVED1[13]; /*!< Reserved, 0x4C-0x7C */ 01291 __IO uint32_t FIFO; /*!< SDIO_MORT data FIFO register, Address offset: 0x80 */ 01292 } SDIO_TypeDef_mort; 01293 01294 /** 01295 * @brief Serial Peripheral Interface 01296 */ 01297 01298 typedef struct 01299 { 01300 __IO uint16_t CR1; /*!< SPI control register 1 (not used in I2S mode), Address offset: 0x00 */ 01301 uint16_t RESERVED0; /*!< Reserved, 0x02 */ 01302 __IO uint16_t CR2; /*!< SPI control register 2, Address offset: 0x04 */ 01303 uint16_t RESERVED1; /*!< Reserved, 0x06 */ 01304 __IO uint16_t SR; /*!< SPI status register, Address offset: 0x08 */ 01305 uint16_t RESERVED2; /*!< Reserved, 0x0A */ 01306 __IO uint16_t DR; /*!< SPI data register, Address offset: 0x0C */ 01307 uint16_t RESERVED3; /*!< Reserved, 0x0E */ 01308 __IO uint16_t CRCPR; /*!< SPI CRC_MORT polynomial register (not used in I2S mode), Address offset: 0x10 */ 01309 uint16_t RESERVED4; /*!< Reserved, 0x12 */ 01310 __IO uint16_t RXCRCR; /*!< SPI RX CRC_MORT register (not used in I2S mode), Address offset: 0x14 */ 01311 uint16_t RESERVED5; /*!< Reserved, 0x16 */ 01312 __IO uint16_t TXCRCR; /*!< SPI TX CRC_MORT register (not used in I2S mode), Address offset: 0x18 */ 01313 uint16_t RESERVED6; /*!< Reserved, 0x1A */ 01314 __IO uint16_t I2SCFGR; /*!< SPI_I2S configuration register, Address offset: 0x1C */ 01315 uint16_t RESERVED7; /*!< Reserved, 0x1E */ 01316 __IO uint16_t I2SPR; /*!< SPI_I2S prescaler register, Address offset: 0x20 */ 01317 uint16_t RESERVED8; /*!< Reserved, 0x22 */ 01318 } SPI_TypeDef_mort; 01319 01320 #if defined(STM32F446xx_MORT) 01321 /** 01322 * @brief SPDIFRX_MORT Interface 01323 */ 01324 typedef struct 01325 { 01326 __IO uint32_t CR; /*!< Control register, Address offset: 0x00 */ 01327 __IO uint16_t IMR; /*!< Interrupt mask register, Address offset: 0x04 */ 01328 uint16_t RESERVED0; /*!< Reserved, 0x06 */ 01329 __IO uint32_t SR; /*!< Status register, Address offset: 0x08 */ 01330 __IO uint16_t IFCR; /*!< Interrupt Flag Clear register, Address offset: 0x0C */ 01331 uint16_t RESERVED1; /*!< Reserved, 0x0E */ 01332 __IO uint32_t DR; /*!< Data input register, Address offset: 0x10 */ 01333 __IO uint32_t CSR; /*!< Channel Status register, Address offset: 0x14 */ 01334 __IO uint32_t DIR; /*!< Debug Information register, Address offset: 0x18 */ 01335 uint16_t RESERVED2; /*!< Reserved, 0x1A */ 01336 } SPDIFRX_TypeDef_mort; 01337 #endif /* STM32F446xx_MORT */ 01338 01339 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 01340 /** 01341 * @brief QUAD Serial Peripheral Interface 01342 */ 01343 typedef struct 01344 { 01345 __IO uint32_t CR; /*!< QUADSPI_MORT Control register, Address offset: 0x00 */ 01346 __IO uint32_t DCR; /*!< QUADSPI_MORT Device Configuration register, Address offset: 0x04 */ 01347 __IO uint32_t SR; /*!< QUADSPI_MORT Status register, Address offset: 0x08 */ 01348 __IO uint32_t FCR; /*!< QUADSPI_MORT Flag Clear register, Address offset: 0x0C */ 01349 __IO uint32_t DLR; /*!< QUADSPI_MORT Data Length register, Address offset: 0x10 */ 01350 __IO uint32_t CCR; /*!< QUADSPI_MORT Communication Configuration register, Address offset: 0x14 */ 01351 __IO uint32_t AR; /*!< QUADSPI_MORT Address register, Address offset: 0x18 */ 01352 __IO uint32_t ABR; /*!< QUADSPI_MORT Alternate Bytes register, Address offset: 0x1C */ 01353 __IO uint32_t DR; /*!< QUADSPI_MORT Data register, Address offset: 0x20 */ 01354 __IO uint32_t PSMKR; /*!< QUADSPI_MORT Polling Status Mask register, Address offset: 0x24 */ 01355 __IO uint32_t PSMAR; /*!< QUADSPI_MORT Polling Status Match register, Address offset: 0x28 */ 01356 __IO uint32_t PIR; /*!< QUADSPI_MORT Polling Interval register, Address offset: 0x2C */ 01357 __IO uint32_t LPTR; /*!< QUADSPI_MORT Low Power Timeout register, Address offset: 0x30 */ 01358 } QUADSPI_TypeDef_mort; 01359 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 01360 01361 #if defined(STM32F446xx_MORT) 01362 /** 01363 * @brief SPDIF-RX Interface 01364 */ 01365 typedef struct 01366 { 01367 __IO uint32_t CR; /*!< Control register, Address offset: 0x00 */ 01368 __IO uint16_t IMR; /*!< Interrupt mask register, Address offset: 0x04 */ 01369 uint16_t RESERVED0; /*!< Reserved, 0x06 */ 01370 __IO uint32_t SR; /*!< Status register, Address offset: 0x08 */ 01371 __IO uint16_t IFCR; /*!< Interrupt Flag Clear register, Address offset: 0x0C */ 01372 uint16_t RESERVED1; /*!< Reserved, 0x0E */ 01373 __IO uint32_t DR; /*!< Data input register, Address offset: 0x10 */ 01374 __IO uint32_t CSR; /*!< Channel Status register, Address offset: 0x14 */ 01375 __IO uint32_t DIR; /*!< Debug Information register, Address offset: 0x18 */ 01376 uint16_t RESERVED2; /*!< Reserved, 0x1A */ 01377 } SPDIF_TypeDef_mort; 01378 #endif /* STM32F446xx_MORT */ 01379 01380 /** 01381 * @brief TIM 01382 */ 01383 01384 typedef struct 01385 { 01386 __IO uint16_t CR1; /*!< TIM control register 1, Address offset: 0x00 */ 01387 uint16_t RESERVED0; /*!< Reserved, 0x02 */ 01388 __IO uint16_t CR2; /*!< TIM control register 2, Address offset: 0x04 */ 01389 uint16_t RESERVED1; /*!< Reserved, 0x06 */ 01390 __IO uint16_t SMCR; /*!< TIM slave mode control register, Address offset: 0x08 */ 01391 uint16_t RESERVED2; /*!< Reserved, 0x0A */ 01392 __IO uint16_t DIER; /*!< TIM DMA/interrupt enable register, Address offset: 0x0C */ 01393 uint16_t RESERVED3; /*!< Reserved, 0x0E */ 01394 __IO uint16_t SR; /*!< TIM status register, Address offset: 0x10 */ 01395 uint16_t RESERVED4; /*!< Reserved, 0x12 */ 01396 __IO uint16_t EGR; /*!< TIM event generation register, Address offset: 0x14 */ 01397 uint16_t RESERVED5; /*!< Reserved, 0x16 */ 01398 __IO uint16_t CCMR1; /*!< TIM capture/compare mode register 1, Address offset: 0x18 */ 01399 uint16_t RESERVED6; /*!< Reserved, 0x1A */ 01400 __IO uint16_t CCMR2; /*!< TIM capture/compare mode register 2, Address offset: 0x1C */ 01401 uint16_t RESERVED7; /*!< Reserved, 0x1E */ 01402 __IO uint16_t CCER; /*!< TIM capture/compare enable register, Address offset: 0x20 */ 01403 uint16_t RESERVED8; /*!< Reserved, 0x22 */ 01404 __IO uint32_t CNT; /*!< TIM counter register, Address offset: 0x24 */ 01405 __IO uint16_t PSC; /*!< TIM prescaler, Address offset: 0x28 */ 01406 uint16_t RESERVED9; /*!< Reserved, 0x2A */ 01407 __IO uint32_t ARR; /*!< TIM auto-reload register, Address offset: 0x2C */ 01408 __IO uint16_t RCR; /*!< TIM repetition counter register, Address offset: 0x30 */ 01409 uint16_t RESERVED10; /*!< Reserved, 0x32 */ 01410 __IO uint32_t CCR1; /*!< TIM capture/compare register 1, Address offset: 0x34 */ 01411 __IO uint32_t CCR2; /*!< TIM capture/compare register 2, Address offset: 0x38 */ 01412 __IO uint32_t CCR3; /*!< TIM capture/compare register 3, Address offset: 0x3C */ 01413 __IO uint32_t CCR4; /*!< TIM capture/compare register 4, Address offset: 0x40 */ 01414 __IO uint16_t BDTR; /*!< TIM break and dead-time register, Address offset: 0x44 */ 01415 uint16_t RESERVED11; /*!< Reserved, 0x46 */ 01416 __IO uint16_t DCR; /*!< TIM DMA control register, Address offset: 0x48 */ 01417 uint16_t RESERVED12; /*!< Reserved, 0x4A */ 01418 __IO uint16_t DMAR; /*!< TIM DMA address for full transfer, Address offset: 0x4C */ 01419 uint16_t RESERVED13; /*!< Reserved, 0x4E */ 01420 __IO uint16_t OR; /*!< TIM option register, Address offset: 0x50 */ 01421 uint16_t RESERVED14; /*!< Reserved, 0x52 */ 01422 } TIM_TypeDef_mort; 01423 01424 /** 01425 * @brief Universal Synchronous Asynchronous Receiver Transmitter 01426 */ 01427 01428 typedef struct 01429 { 01430 __IO uint16_t SR; /*!< USART Status register, Address offset: 0x00 */ 01431 uint16_t RESERVED0; /*!< Reserved, 0x02 */ 01432 __IO uint16_t DR; /*!< USART Data register, Address offset: 0x04 */ 01433 uint16_t RESERVED1; /*!< Reserved, 0x06 */ 01434 __IO uint16_t BRR; /*!< USART Baud rate register, Address offset: 0x08 */ 01435 uint16_t RESERVED2; /*!< Reserved, 0x0A */ 01436 __IO uint16_t CR1; /*!< USART Control register 1, Address offset: 0x0C */ 01437 uint16_t RESERVED3; /*!< Reserved, 0x0E */ 01438 __IO uint16_t CR2; /*!< USART Control register 2, Address offset: 0x10 */ 01439 uint16_t RESERVED4; /*!< Reserved, 0x12 */ 01440 __IO uint16_t CR3; /*!< USART Control register 3, Address offset: 0x14 */ 01441 uint16_t RESERVED5; /*!< Reserved, 0x16 */ 01442 __IO uint16_t GTPR; /*!< USART Guard time and prescaler register, Address offset: 0x18 */ 01443 uint16_t RESERVED6; /*!< Reserved, 0x1A */ 01444 } USART_TypeDef_mort; 01445 01446 /** 01447 * @brief Window WATCHDOG 01448 */ 01449 01450 typedef struct 01451 { 01452 __IO uint32_t CR; /*!< WWDG_MORT Control register, Address offset: 0x00 */ 01453 __IO uint32_t CFR; /*!< WWDG_MORT Configuration register, Address offset: 0x04 */ 01454 __IO uint32_t SR; /*!< WWDG_MORT Status register, Address offset: 0x08 */ 01455 } WWDG_TypeDef_mort; 01456 01457 /** 01458 * @brief Crypto Processor 01459 */ 01460 01461 typedef struct 01462 { 01463 __IO uint32_t CR; /*!< CRYP_MORT control register, Address offset: 0x00 */ 01464 __IO uint32_t SR; /*!< CRYP_MORT status register, Address offset: 0x04 */ 01465 __IO uint32_t DR; /*!< CRYP_MORT data input register, Address offset: 0x08 */ 01466 __IO uint32_t DOUT; /*!< CRYP_MORT data output register, Address offset: 0x0C */ 01467 __IO uint32_t DMACR; /*!< CRYP_MORT DMA control register, Address offset: 0x10 */ 01468 __IO uint32_t IMSCR; /*!< CRYP_MORT interrupt mask set/clear register, Address offset: 0x14 */ 01469 __IO uint32_t RISR; /*!< CRYP_MORT raw interrupt status register, Address offset: 0x18 */ 01470 __IO uint32_t MISR; /*!< CRYP_MORT masked interrupt status register, Address offset: 0x1C */ 01471 __IO uint32_t K0LR; /*!< CRYP_MORT key left register 0, Address offset: 0x20 */ 01472 __IO uint32_t K0RR; /*!< CRYP_MORT key right register 0, Address offset: 0x24 */ 01473 __IO uint32_t K1LR; /*!< CRYP_MORT key left register 1, Address offset: 0x28 */ 01474 __IO uint32_t K1RR; /*!< CRYP_MORT key right register 1, Address offset: 0x2C */ 01475 __IO uint32_t K2LR; /*!< CRYP_MORT key left register 2, Address offset: 0x30 */ 01476 __IO uint32_t K2RR; /*!< CRYP_MORT key right register 2, Address offset: 0x34 */ 01477 __IO uint32_t K3LR; /*!< CRYP_MORT key left register 3, Address offset: 0x38 */ 01478 __IO uint32_t K3RR; /*!< CRYP_MORT key right register 3, Address offset: 0x3C */ 01479 __IO uint32_t IV0LR; /*!< CRYP_MORT initialization vector left-word register 0, Address offset: 0x40 */ 01480 __IO uint32_t IV0RR; /*!< CRYP_MORT initialization vector right-word register 0, Address offset: 0x44 */ 01481 __IO uint32_t IV1LR; /*!< CRYP_MORT initialization vector left-word register 1, Address offset: 0x48 */ 01482 __IO uint32_t IV1RR; /*!< CRYP_MORT initialization vector right-word register 1, Address offset: 0x4C */ 01483 __IO uint32_t CSGCMCCM0R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 0, Address offset: 0x50 */ 01484 __IO uint32_t CSGCMCCM1R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 1, Address offset: 0x54 */ 01485 __IO uint32_t CSGCMCCM2R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 2, Address offset: 0x58 */ 01486 __IO uint32_t CSGCMCCM3R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 3, Address offset: 0x5C */ 01487 __IO uint32_t CSGCMCCM4R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 4, Address offset: 0x60 */ 01488 __IO uint32_t CSGCMCCM5R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 5, Address offset: 0x64 */ 01489 __IO uint32_t CSGCMCCM6R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 6, Address offset: 0x68 */ 01490 __IO uint32_t CSGCMCCM7R; /*!< CRYP_MORT GCM/GMAC or CCM/CMAC context swap register 7, Address offset: 0x6C */ 01491 __IO uint32_t CSGCM0R; /*!< CRYP_MORT GCM/GMAC context swap register 0, Address offset: 0x70 */ 01492 __IO uint32_t CSGCM1R; /*!< CRYP_MORT GCM/GMAC context swap register 1, Address offset: 0x74 */ 01493 __IO uint32_t CSGCM2R; /*!< CRYP_MORT GCM/GMAC context swap register 2, Address offset: 0x78 */ 01494 __IO uint32_t CSGCM3R; /*!< CRYP_MORT GCM/GMAC context swap register 3, Address offset: 0x7C */ 01495 __IO uint32_t CSGCM4R; /*!< CRYP_MORT GCM/GMAC context swap register 4, Address offset: 0x80 */ 01496 __IO uint32_t CSGCM5R; /*!< CRYP_MORT GCM/GMAC context swap register 5, Address offset: 0x84 */ 01497 __IO uint32_t CSGCM6R; /*!< CRYP_MORT GCM/GMAC context swap register 6, Address offset: 0x88 */ 01498 __IO uint32_t CSGCM7R; /*!< CRYP_MORT GCM/GMAC context swap register 7, Address offset: 0x8C */ 01499 } CRYP_TypeDef_mort; 01500 01501 /** 01502 * @brief HASH_MORT 01503 */ 01504 01505 typedef struct 01506 { 01507 __IO uint32_t CR; /*!< HASH_MORT control register, Address offset: 0x00 */ 01508 __IO uint32_t DIN; /*!< HASH_MORT data input register, Address offset: 0x04 */ 01509 __IO uint32_t STR; /*!< HASH_MORT start register, Address offset: 0x08 */ 01510 __IO uint32_t HR[5]; /*!< HASH_MORT digest registers, Address offset: 0x0C-0x1C */ 01511 __IO uint32_t IMR; /*!< HASH_MORT interrupt enable register, Address offset: 0x20 */ 01512 __IO uint32_t SR; /*!< HASH_MORT status register, Address offset: 0x24 */ 01513 uint32_t RESERVED[52]; /*!< Reserved, 0x28-0xF4 */ 01514 __IO uint32_t CSR[54]; /*!< HASH_MORT context swap registers, Address offset: 0x0F8-0x1CC */ 01515 } HASH_TypeDef_mort; 01516 01517 /** 01518 * @brief HASH_DIGEST_MORT 01519 */ 01520 01521 typedef struct 01522 { 01523 __IO uint32_t HR[8]; /*!< HASH_MORT digest registers, Address offset: 0x310-0x32C */ 01524 } HASH_DIGEST_TypeDef_mort; 01525 01526 /** 01527 * @brief RNG_MORT 01528 */ 01529 01530 typedef struct 01531 { 01532 __IO uint32_t CR; /*!< RNG_MORT control register, Address offset: 0x00 */ 01533 __IO uint32_t SR; /*!< RNG_MORT status register, Address offset: 0x04 */ 01534 __IO uint32_t DR; /*!< RNG_MORT data register, Address offset: 0x08 */ 01535 } RNG_TypeDef_mort; 01536 01537 #if defined(STM32F410xx) || defined(STM32F413_423xx) 01538 /** 01539 * @brief LPTIMER 01540 */ 01541 typedef struct 01542 { 01543 __IO uint32_t ISR; /*!< LPTIM Interrupt and Status register, Address offset: 0x00 */ 01544 __IO uint32_t ICR; /*!< LPTIM Interrupt Clear register, Address offset: 0x04 */ 01545 __IO uint32_t IER; /*!< LPTIM Interrupt Enable register, Address offset: 0x08 */ 01546 __IO uint32_t CFGR; /*!< LPTIM Configuration register, Address offset: 0x0C */ 01547 __IO uint32_t CR; /*!< LPTIM Control register, Address offset: 0x10 */ 01548 __IO uint32_t CMP; /*!< LPTIM Compare register, Address offset: 0x14 */ 01549 __IO uint32_t ARR; /*!< LPTIM Autoreload register, Address offset: 0x18 */ 01550 __IO uint32_t CNT; /*!< LPTIM Counter register, Address offset: 0x1C */ 01551 __IO uint32_t OR; /*!< LPTIM Option register, Address offset: 0x20 */ 01552 } LPTIM_TypeDef_mort; 01553 #endif /* STM32F410xx || STM32F413_423xx */ 01554 /** 01555 * @} 01556 */ 01557 01558 /** @addtogroup Peripheral_memory_map 01559 * @{ 01560 */ 01561 01562 #define FLASH_BASE_MORT ((uint32_t)0x08000000) /*!< FLASH_MORT(up to 1 MB) base address in the alias region */ 01563 #define CCMDATARAM_BASE_MORT ((uint32_t)0x10000000) /*!< CCM(core coupled memory) data RAM(64 KB) base address in the alias region */ 01564 #define SRAM1_BASE_MORT ((uint32_t)0x20000000) /*!< SRAM1(112 KB) base address in the alias region */ 01565 #if defined(STM32F40_41xxx) || defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) 01566 #define SRAM2_BASE_MORT ((uint32_t)0x2001C000) /*!< SRAM2(16 KB) base address in the alias region */ 01567 #define SRAM3_BASE_MORT ((uint32_t)0x20020000) /*!< SRAM3(64 KB) base address in the alias region */ 01568 #elif defined(STM32F469_479xx) 01569 #define SRAM2_BASE_MORT ((uint32_t)0x20028000) /*!< SRAM2(16 KB) base address in the alias region */ 01570 #define SRAM3_BASE_MORT ((uint32_t)0x20030000) /*!< SRAM3(64 KB) base address in the alias region */ 01571 #elif defined(STM32F413_423xx) 01572 #define SRAM2_BASE_MORT ((uint32_t)0x20040000) /*!< SRAM2(16 KB) base address in the alias region */ 01573 #else /* STM32F411xE || STM32F410xx || STM32F412xG */ 01574 #endif /* STM32F40_41xxx || STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT */ 01575 #define PERIPH_BASE_MORT ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */ 01576 #define BKPSRAM_BASE_MORT ((uint32_t)0x40024000) /*!< Backup SRAM(4 KB) base address in the alias region */ 01577 01578 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 01579 #define FSMC_R_BASE_MORT ((uint32_t)0xA0000000) /*!< FSMC registers base address */ 01580 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 01581 01582 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 01583 #define FMC_R_BASE_MORT ((uint32_t)0xA0000000) /*!< FMC registers base address */ 01584 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 01585 01586 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 01587 #define QSPI_R_BASE_MORT ((uint32_t)0xA0001000) /*!< QUADSPI_MORT registers base address */ 01588 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 01589 01590 #define CCMDATARAM_BB_BASE ((uint32_t)0x12000000) /*!< CCM(core coupled memory) data RAM(64 KB) base address in the bit-band region */ 01591 #define SRAM1_BB_BASE_MORT ((uint32_t)0x22000000) /*!< SRAM1(112 KB) base address in the bit-band region */ 01592 #if defined(STM32F40_41xxx) || defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) 01593 #define SRAM2_BB_BASE_MORT ((uint32_t)0x22380000) /*!< SRAM2(16 KB) base address in the bit-band region */ 01594 #define SRAM3_BB_BASE_MORT ((uint32_t)0x22400000) /*!< SRAM3(64 KB) base address in the bit-band region */ 01595 #elif defined(STM32F469_479xx) 01596 #define SRAM2_BB_BASE_MORT ((uint32_t)0x22500000) /*!< SRAM2(16 KB) base address in the bit-band region */ 01597 #define SRAM3_BB_BASE_MORT ((uint32_t)0x22600000) /*!< SRAM3(64 KB) base address in the bit-band region */ 01598 #elif defined(STM32F413_423xx) 01599 #define SRAM2_BB_BASE_MORT ((uint32_t)0x22800000) /*!< SRAM2(64 KB) base address in the bit-band region */ 01600 #else /* STM32F411xE || STM32F410xx || STM32F412xG */ 01601 #endif /* STM32F40_41xxx || STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT */ 01602 #define PERIPH_BB_BASE_MORT ((uint32_t)0x42000000) /*!< Peripheral base address in the bit-band region */ 01603 #define BKPSRAM_BB_BASE_MORT ((uint32_t)0x42480000) /*!< Backup SRAM(4 KB) base address in the bit-band region */ 01604 01605 /* Legacy defines */ 01606 #define SRAM_BASE_MORT SRAM1_BASE_MORT 01607 #define SRAM_BB_BASE_MORT SRAM1_BB_BASE_MORT 01608 01609 01610 /*!< Peripheral memory map */ 01611 #define APB1PERIPH_BASE_MORT PERIPH_BASE_MORT 01612 #define APB2PERIPH_BASE_MORT (PERIPH_BASE_MORT + 0x00010000) 01613 #define AHB1PERIPH_BASE_MORT (PERIPH_BASE_MORT + 0x00020000) 01614 #define AHB2PERIPH_BASE_MORT (PERIPH_BASE_MORT + 0x10000000) 01615 01616 /*!< APB1 peripherals */ 01617 #define TIM2_BASE_MORT (APB1PERIPH_BASE_MORT + 0x0000) 01618 #define TIM3_BASE_MORT (APB1PERIPH_BASE_MORT + 0x0400) 01619 #define TIM4_BASE_MORT (APB1PERIPH_BASE_MORT + 0x0800) 01620 #define TIM5_BASE_MORT (APB1PERIPH_BASE_MORT + 0x0C00) 01621 #define TIM6_BASE_MORT (APB1PERIPH_BASE_MORT + 0x1000) 01622 #define TIM7_BASE_MORT (APB1PERIPH_BASE_MORT + 0x1400) 01623 #if defined(STM32F410xx) || defined(STM32F413_423xx) 01624 #define LPTIM1_BASE_MORT (APB1PERIPH_BASE_MORT + 0x2400) 01625 #endif /* STM32F410xx || STM32F413_423xx */ 01626 #define TIM12_BASE_MORT (APB1PERIPH_BASE_MORT + 0x1800) 01627 #define TIM13_BASE_MORT (APB1PERIPH_BASE_MORT + 0x1C00) 01628 #define TIM14_BASE_MORT (APB1PERIPH_BASE_MORT + 0x2000) 01629 #define RTC_BASE_MORT (APB1PERIPH_BASE_MORT + 0x2800) 01630 #define WWDG_BASE_MORT (APB1PERIPH_BASE_MORT + 0x2C00) 01631 #define IWDG_BASE_MORT (APB1PERIPH_BASE_MORT + 0x3000) 01632 #define I2S2ext_BASE_MORT (APB1PERIPH_BASE_MORT + 0x3400) 01633 #define SPI2_BASE_MORT (APB1PERIPH_BASE_MORT + 0x3800) 01634 #define SPI3_BASE_MORT (APB1PERIPH_BASE_MORT + 0x3C00) 01635 #if defined(STM32F446xx_MORT) 01636 #define SPDIFRX_BASE_MORT (APB1PERIPH_BASE_MORT + 0x4000) 01637 #endif /* STM32F446xx_MORT */ 01638 #define I2S3ext_BASE_MORT (APB1PERIPH_BASE_MORT + 0x4000) 01639 #define USART2_BASE_MORT (APB1PERIPH_BASE_MORT + 0x4400) 01640 #define USART3_BASE_MORT (APB1PERIPH_BASE_MORT + 0x4800) 01641 #define UART4_BASE_MORT (APB1PERIPH_BASE_MORT + 0x4C00) 01642 #define UART5_BASE_MORT (APB1PERIPH_BASE_MORT + 0x5000) 01643 #define I2C1_BASE_MORT (APB1PERIPH_BASE_MORT + 0x5400) 01644 #define I2C2_BASE_MORT (APB1PERIPH_BASE_MORT + 0x5800) 01645 #define I2C3_BASE_MORT (APB1PERIPH_BASE_MORT + 0x5C00) 01646 #if defined(STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 01647 #define FMPI2C1_BASE_MORT (APB1PERIPH_BASE_MORT + 0x6000) 01648 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 01649 #define CAN1_BASE_MORT (APB1PERIPH_BASE_MORT + 0x6400) 01650 #define CAN2_BASE_MORT (APB1PERIPH_BASE_MORT + 0x6800) 01651 #if defined(STM32F413_423xx) 01652 #define CAN3_BASE_MORT (APB1PERIPH_BASE_MORT + 0x6C00) 01653 #endif /* STM32F413_423xx */ 01654 #if defined(STM32F446xx_MORT) 01655 #define CEC_BASE_MORT (APB1PERIPH_BASE_MORT + 0x6C00) 01656 #endif /* STM32F446xx_MORT */ 01657 #define PWR_BASE_MORT (APB1PERIPH_BASE_MORT + 0x7000) 01658 #define DAC_BASE_MORT (APB1PERIPH_BASE_MORT + 0x7400) 01659 #define UART7_BASE_MORT (APB1PERIPH_BASE_MORT + 0x7800) 01660 #define UART8_BASE_MORT (APB1PERIPH_BASE_MORT + 0x7C00) 01661 01662 /*!< APB2 peripherals */ 01663 #define TIM1_BASE_MORT (APB2PERIPH_BASE_MORT + 0x0000) 01664 #define TIM8_BASE_MORT (APB2PERIPH_BASE_MORT + 0x0400) 01665 #define USART1_BASE_MORT (APB2PERIPH_BASE_MORT + 0x1000) 01666 #define USART6_BASE_MORT (APB2PERIPH_BASE_MORT + 0x1400) 01667 #define UART9_BASE_MORT (APB2PERIPH_BASE_MORT + 0x1800U) 01668 #define UART10_BASE_MORT (APB2PERIPH_BASE_MORT + 0x1C00U) 01669 #define ADC1_BASE_MORT (APB2PERIPH_BASE_MORT + 0x2000) 01670 #define ADC2_BASE_MORT (APB2PERIPH_BASE_MORT + 0x2100) 01671 #define ADC3_BASE_MORT (APB2PERIPH_BASE_MORT + 0x2200) 01672 #define ADC_BASE_MORT (APB2PERIPH_BASE_MORT + 0x2300) 01673 #define SDIO_BASE_MORT (APB2PERIPH_BASE_MORT + 0x2C00) 01674 #define SPI1_BASE_MORT (APB2PERIPH_BASE_MORT + 0x3000) 01675 #define SPI4_BASE_MORT (APB2PERIPH_BASE_MORT + 0x3400) 01676 #define SYSCFG_BASE_MORT (APB2PERIPH_BASE_MORT + 0x3800) 01677 #define EXTI_BASE_MORT (APB2PERIPH_BASE_MORT + 0x3C00) 01678 #define TIM9_BASE_MORT (APB2PERIPH_BASE_MORT + 0x4000) 01679 #define TIM10_BASE_MORT (APB2PERIPH_BASE_MORT + 0x4400) 01680 #define TIM11_BASE_MORT (APB2PERIPH_BASE_MORT + 0x4800) 01681 #define SPI5_BASE_MORT (APB2PERIPH_BASE_MORT + 0x5000) 01682 #define SPI6_BASE_MORT (APB2PERIPH_BASE_MORT + 0x5400) 01683 #define SAI1_BASE_MORT (APB2PERIPH_BASE_MORT + 0x5800) 01684 #define SAI1_Block_A_BASE_MORT (SAI1_BASE_MORT + 0x004) 01685 #define SAI1_Block_B_BASE_MORT (SAI1_BASE_MORT + 0x024) 01686 #if defined(STM32F446xx_MORT) 01687 #define SAI2_BASE_MORT (APB2PERIPH_BASE_MORT + 0x5C00) 01688 #define SAI2_Block_A_BASE_MORT (SAI2_BASE_MORT + 0x004) 01689 #define SAI2_Block_B_BASE_MORT (SAI2_BASE_MORT + 0x024) 01690 #endif /* STM32F446xx_MORT */ 01691 #define LTDC_BASE_MORT (APB2PERIPH_BASE_MORT + 0x6800) 01692 #define LTDC_Layer1_BASE_MORT (LTDC_BASE_MORT + 0x84) 01693 #define LTDC_Layer2_BASE_MORT (LTDC_BASE_MORT + 0x104) 01694 #if defined(STM32F469_479xx) 01695 #define DSI_BASE_MORT (APB2PERIPH_BASE_MORT + 0x6C00) 01696 #endif /* STM32F469_479xx */ 01697 #if defined(STM32F412xG) || defined(STM32F413_423xx) 01698 #define DFSDM1_BASE_MORT (APB2PERIPH_BASE_MORT + 0x6000) 01699 #define DFSDM1_Channel0_BASE_MORT (DFSDM1_BASE_MORT + 0x00) 01700 #define DFSDM1_Channel1_BASE_MORT (DFSDM1_BASE_MORT + 0x20) 01701 #define DFSDM1_Channel2_BASE_MORT (DFSDM1_BASE_MORT + 0x40) 01702 #define DFSDM1_Channel3_BASE_MORT (DFSDM1_BASE_MORT + 0x60) 01703 #define DFSDM1_Filter0_BASE_MORT (DFSDM1_BASE_MORT + 0x100) 01704 #define DFSDM1_Filter1_BASE_MORT (DFSDM1_BASE_MORT + 0x180) 01705 #define DFSDM1_0_MORT ((DFSDM_TypeDef *) DFSDM1_Filter0_BASE_MORT) 01706 #define DFSDM1_1_MORT ((DFSDM_TypeDef *) DFSDM1_Filter1_BASE_MORT) 01707 /* Legacy Defines */ 01708 #define DFSDM0 DFSDM1_0_MORT 01709 #define DFSDM1 DFSDM1_1_MORT 01710 #if defined(STM32F413_423xx) 01711 #define DFSDM2_BASE_MORT (APB2PERIPH_BASE_MORT + 0x6400U) 01712 #define DFSDM2_Channel0_BASE_MORT (DFSDM2_BASE_MORT + 0x00U) 01713 #define DFSDM2_Channel1_BASE_MORT (DFSDM2_BASE_MORT + 0x20U) 01714 #define DFSDM2_Channel2_BASE_MORT (DFSDM2_BASE_MORT + 0x40U) 01715 #define DFSDM2_Channel3_BASE_MORT (DFSDM2_BASE_MORT + 0x60U) 01716 #define DFSDM2_Channel4_BASE_MORT (DFSDM2_BASE_MORT + 0x80U) 01717 #define DFSDM2_Channel5_BASE_MORT (DFSDM2_BASE_MORT + 0xA0U) 01718 #define DFSDM2_Channel6_BASE_MORT (DFSDM2_BASE_MORT + 0xC0U) 01719 #define DFSDM2_Channel7_BASE_MORT (DFSDM2_BASE_MORT + 0xE0U) 01720 #define DFSDM2_Filter0_BASE_MORT (DFSDM2_BASE_MORT + 0x100U) 01721 #define DFSDM2_Filter1_BASE_MORT (DFSDM2_BASE_MORT + 0x180U) 01722 #define DFSDM2_Filter2_BASE_MORT (DFSDM2_BASE_MORT + 0x200U) 01723 #define DFSDM2_Filter3_BASE_MORT (DFSDM2_BASE_MORT + 0x280U) 01724 #define DFSDM2_0_MORT ((DFSDM_TypeDef *) DFSDM2_Filter0_BASE_MORT) 01725 #define DFSDM2_1_MORT ((DFSDM_TypeDef *) DFSDM2_Filter1_BASE_MORT) 01726 #define DFSDM2_2_MORT ((DFSDM_TypeDef *) DFSDM2_Filter2_BASE_MORT) 01727 #define DFSDM2_3_MORT ((DFSDM_TypeDef *) DFSDM2_Filter3_BASE_MORT) 01728 #endif /* STM32F413_423xx */ 01729 #endif /* STM32F412xG || STM32F413_423xx */ 01730 01731 /*!< AHB1 peripherals */ 01732 #define GPIOA_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x0000) 01733 #define GPIOB_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x0400) 01734 #define GPIOC_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x0800) 01735 #define GPIOD_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x0C00) 01736 #define GPIOE_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x1000) 01737 #define GPIOF_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x1400) 01738 #define GPIOG_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x1800) 01739 #define GPIOH_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x1C00) 01740 #define GPIOI_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x2000) 01741 #define GPIOJ_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x2400) 01742 #define GPIOK_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x2800) 01743 #define CRC_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x3000) 01744 #define RCC_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x3800) 01745 #define FLASH_R_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x3C00) 01746 #define DMA1_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x6000) 01747 #define DMA1_Stream0_BASE_MORT (DMA1_BASE_MORT + 0x010) 01748 #define DMA1_Stream1_BASE_MORT (DMA1_BASE_MORT + 0x028) 01749 #define DMA1_Stream2_BASE_MORT (DMA1_BASE_MORT + 0x040) 01750 #define DMA1_Stream3_BASE_MORT (DMA1_BASE_MORT + 0x058) 01751 #define DMA1_Stream4_BASE_MORT (DMA1_BASE_MORT + 0x070) 01752 #define DMA1_Stream5_BASE_MORT (DMA1_BASE_MORT + 0x088) 01753 #define DMA1_Stream6_BASE_MORT (DMA1_BASE_MORT + 0x0A0) 01754 #define DMA1_Stream7_BASE_MORT (DMA1_BASE_MORT + 0x0B8) 01755 #define DMA2_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x6400) 01756 #define DMA2_Stream0_BASE_MORT (DMA2_BASE_MORT + 0x010) 01757 #define DMA2_Stream1_BASE_MORT (DMA2_BASE_MORT + 0x028) 01758 #define DMA2_Stream2_BASE_MORT (DMA2_BASE_MORT + 0x040) 01759 #define DMA2_Stream3_BASE_MORT (DMA2_BASE_MORT + 0x058) 01760 #define DMA2_Stream4_BASE_MORT (DMA2_BASE_MORT + 0x070) 01761 #define DMA2_Stream5_BASE_MORT (DMA2_BASE_MORT + 0x088) 01762 #define DMA2_Stream6_BASE_MORT (DMA2_BASE_MORT + 0x0A0) 01763 #define DMA2_Stream7_BASE_MORT (DMA2_BASE_MORT + 0x0B8) 01764 #define ETH_BASE_MORT (AHB1PERIPH_BASE_MORT + 0x8000) 01765 #define ETH_MAC_BASE_MORT (ETH_BASE_MORT) 01766 #define ETH_MMC_BASE_MORT (ETH_BASE_MORT + 0x0100) 01767 #define ETH_PTP_BASE_MORT (ETH_BASE_MORT + 0x0700) 01768 #define ETH_DMA_BASE_MORT (ETH_BASE_MORT + 0x1000) 01769 #define DMA2D_BASE_MORT (AHB1PERIPH_BASE_MORT + 0xB000) 01770 01771 /*!< AHB2 peripherals */ 01772 #define DCMI_BASE_MORT (AHB2PERIPH_BASE_MORT + 0x50000) 01773 #define CRYP_BASE_MORT (AHB2PERIPH_BASE_MORT + 0x60000) 01774 #define HASH_BASE_MORT (AHB2PERIPH_BASE_MORT + 0x60400) 01775 #define HASH_DIGEST_BASE_MORT (AHB2PERIPH_BASE_MORT + 0x60710) 01776 #define RNG_BASE_MORT (AHB2PERIPH_BASE_MORT + 0x60800) 01777 01778 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 01779 /*!< FSMC Bankx registers base address */ 01780 #define FSMC_Bank1_R_BASE_MORT (FSMC_R_BASE_MORT + 0x0000) 01781 #define FSMC_Bank1E_R_BASE_MORT (FSMC_R_BASE_MORT + 0x0104) 01782 #define FSMC_Bank2_R_BASE_MORT (FSMC_R_BASE_MORT + 0x0060) 01783 #define FSMC_Bank3_R_BASE_MORT (FSMC_R_BASE_MORT + 0x0080) 01784 #define FSMC_Bank4_R_BASE_MORT (FSMC_R_BASE_MORT + 0x00A0) 01785 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 01786 01787 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 01788 /*!< FMC Bankx registers base address */ 01789 #define FMC_Bank1_R_BASE_MORT (FMC_R_BASE_MORT + 0x0000) 01790 #define FMC_Bank1E_R_BASE_MORT (FMC_R_BASE_MORT + 0x0104) 01791 #define FMC_Bank2_R_BASE_MORT (FMC_R_BASE_MORT + 0x0060) 01792 #define FMC_Bank3_R_BASE_MORT (FMC_R_BASE_MORT + 0x0080) 01793 #define FMC_Bank4_R_BASE_MORT (FMC_R_BASE_MORT + 0x00A0) 01794 #define FMC_Bank5_6_R_BASE_MORT (FMC_R_BASE_MORT + 0x0140) 01795 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 01796 01797 /* Debug MCU registers base address */ 01798 #define DBGMCU_BASE_MORT ((uint32_t )0xE0042000) 01799 01800 /** 01801 * @} 01802 */ 01803 01804 /** @addtogroup Peripheral_declaration 01805 * @{ 01806 */ 01807 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 01808 #define QUADSPI_MORT ((QUADSPI_TypeDef_mort *) QSPI_R_BASE_MORT) 01809 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 01810 #define TIM2_MORT ((TIM_TypeDef_mort *) TIM2_BASE_MORT) 01811 #define TIM3_MORT ((TIM_TypeDef_mort *) TIM3_BASE_MORT) 01812 #define TIM4_MORT ((TIM_TypeDef_mort *) TIM4_BASE_MORT) 01813 #define TIM5_MORT ((TIM_TypeDef_mort *) TIM5_BASE_MORT) 01814 #define TIM6_MORT ((TIM_TypeDef_mort *) TIM6_BASE_MORT) 01815 #define TIM7_MORT ((TIM_TypeDef_mort *) TIM7_BASE_MORT) 01816 #define TIM12_MORT ((TIM_TypeDef_mort *) TIM12_BASE_MORT) 01817 #define TIM13_MORT ((TIM_TypeDef_mort *) TIM13_BASE_MORT) 01818 #define TIM14_MORT ((TIM_TypeDef_mort *) TIM14_BASE_MORT) 01819 #define RTC_MORT ((RTC_TypeDef_mort *) RTC_BASE_MORT) 01820 #define WWDG_MORT ((WWDG_TypeDef_mort *) WWDG_BASE_MORT) 01821 #define IWDG_MORT ((IWDG_TypeDef_mort *) IWDG_BASE_MORT) 01822 #define I2S2ext_MORT ((SPI_TypeDef_mort *) I2S2ext_BASE_MORT) 01823 #define SPI2_MORT ((SPI_TypeDef_mort *) SPI2_BASE_MORT) 01824 #define SPI3_MORT ((SPI_TypeDef_mort *) SPI3_BASE_MORT) 01825 #if defined(STM32F446xx_MORT) 01826 #define SPDIFRX_MORT ((SPDIFRX_TypeDef_mort *) SPDIFRX_BASE_MORT) 01827 #endif /* STM32F446xx_MORT */ 01828 #define I2S3ext_MORT ((SPI_TypeDef_mort *) I2S3ext_BASE_MORT) 01829 #define USART2_MORT ((USART_TypeDef_mort *) USART2_BASE_MORT) 01830 #define USART3_MORT ((USART_TypeDef_mort *) USART3_BASE_MORT) 01831 #define UART4_MORT ((USART_TypeDef_mort *) UART4_BASE_MORT) 01832 #define UART5_MORT ((USART_TypeDef_mort *) UART5_BASE_MORT) 01833 #define I2C1_MORT ((I2C_TypeDef_mort *) I2C1_BASE_MORT) 01834 #define I2C2_MORT ((I2C_TypeDef_mort *) I2C2_BASE_MORT) 01835 #define I2C3_MORT ((I2C_TypeDef_mort *) I2C3_BASE_MORT) 01836 #if defined(STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 01837 #define FMPI2C1_MORT ((FMPI2C_TypeDef_mort *) FMPI2C1_BASE_MORT) 01838 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 01839 #if defined(STM32F410xx) || defined(STM32F413_423xx) 01840 #define LPTIM1_MORT ((LPTIM_TypeDef_mort *) LPTIM1_BASE_MORT) 01841 #endif /* STM32F410xx || STM32F413_423xx */ 01842 #define CAN1_MORT ((CAN_TypeDef_mort *) CAN1_BASE_MORT) 01843 #define CAN2_MORT ((CAN_TypeDef_mort *) CAN2_BASE_MORT) 01844 #if defined(STM32F413_423xx) 01845 #define CAN3_MORT ((CAN_TypeDef_mort *) CAN3_BASE_MORT) 01846 #endif /* STM32F413_423xx */ 01847 #if defined(STM32F446xx_MORT) 01848 #define CEC_MORT ((CEC_TypeDef_mort *) CEC_BASE_MORT) 01849 #endif /* STM32F446xx_MORT */ 01850 #define PWR_MORT ((PWR_TypeDef_mort *) PWR_BASE_MORT) 01851 #define DAC_MORT ((DAC_TypeDef_mort *) DAC_BASE_MORT) 01852 #define UART7_MORT ((USART_TypeDef_mort *) UART7_BASE_MORT) 01853 #define UART8_MORT ((USART_TypeDef_mort *) UART8_BASE_MORT) 01854 #define UART9_MORT ((USART_TypeDef_mort *) UART9_BASE_MORT) 01855 #define UART10_MORT ((USART_TypeDef_mort *) UART10_BASE_MORT) 01856 #define TIM1_MORT ((TIM_TypeDef_mort *) TIM1_BASE_MORT) 01857 #define TIM8_MORT ((TIM_TypeDef_mort *) TIM8_BASE_MORT) 01858 #define USART1_MORT ((USART_TypeDef_mort *) USART1_BASE_MORT) 01859 #define USART6_MORT ((USART_TypeDef_mort *) USART6_BASE_MORT) 01860 #define ADC_MORT ((ADC_Common_TypeDef_mort *) ADC_BASE_MORT) 01861 #define ADC1_MORT ((ADC_TypeDef_mort *) ADC1_BASE_MORT) 01862 #define ADC2_MORT ((ADC_TypeDef_mort *) ADC2_BASE_MORT) 01863 #define ADC3_MORT ((ADC_TypeDef_mort *) ADC3_BASE_MORT) 01864 #define SDIO_MORT ((SDIO_TypeDef_mort *) SDIO_BASE_MORT) 01865 #define SPI1_MORT ((SPI_TypeDef_mort *) SPI1_BASE_MORT) 01866 #define SPI4_MORT ((SPI_TypeDef_mort *) SPI4_BASE_MORT) 01867 #define SYSCFG_MORT ((SYSCFG_TypeDef_mort *) SYSCFG_BASE_MORT) 01868 #define EXTI_MORT ((EXTI_TypeDef_mort *) EXTI_BASE_MORT) 01869 #define TIM9_MORT ((TIM_TypeDef_mort *) TIM9_BASE_MORT) 01870 #define TIM10_MORT ((TIM_TypeDef_mort *) TIM10_BASE_MORT) 01871 #define TIM11_MORT ((TIM_TypeDef_mort *) TIM11_BASE_MORT) 01872 #define SPI5_MORT ((SPI_TypeDef_mort *) SPI5_BASE_MORT) 01873 #define SPI6_MORT ((SPI_TypeDef_mort *) SPI6_BASE_MORT) 01874 #define SAI1_MORT ((SAI_TypeDef_mort *) SAI1_BASE_MORT) 01875 #define SAI1_Block_A_MORT ((SAI_Block_TypeDef_mort *)SAI1_Block_A_BASE_MORT) 01876 #define SAI1_Block_B_MORT ((SAI_Block_TypeDef_mort *)SAI1_Block_B_BASE_MORT) 01877 #if defined(STM32F446xx_MORT) 01878 #define SAI2_MORT ((SAI_TypeDef_mort *) SAI2_BASE_MORT) 01879 #define SAI2_Block_A_MORT ((SAI_Block_TypeDef_mort *)SAI2_Block_A_BASE_MORT) 01880 #define SAI2_Block_B_MORT ((SAI_Block_TypeDef_mort *)SAI2_Block_B_BASE_MORT) 01881 #endif /* STM32F446xx_MORT */ 01882 #define LTDC_MORT ((LTDC_TypeDef_mort *)LTDC_BASE_MORT) 01883 #define LTDC_Layer1_MORT ((LTDC_Layer_TypeDef_mort *)LTDC_Layer1_BASE_MORT) 01884 #define LTDC_Layer2_MORT ((LTDC_Layer_TypeDef_mort *)LTDC_Layer2_BASE_MORT) 01885 #if defined(STM32F469_479xx) 01886 #define DSI_MORT ((DSI_TypeDef_mort *)DSI_BASE_MORT) 01887 #endif /* STM32F469_479xx */ 01888 #if defined(STM32F412xG) || defined(STM32F413_423xx) 01889 #define DFSDM1_Channel0_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM1_Channel0_BASE_MORT) 01890 #define DFSDM1_Channel1_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM1_Channel1_BASE_MORT) 01891 #define DFSDM1_Channel2_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM1_Channel2_BASE_MORT) 01892 #define DFSDM1_Channel3_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM1_Channel3_BASE_MORT) 01893 #define DFSDM1_Filter0_MORT ((DFSDM_TypeDef *) DFSDM_Filter0_BASE) 01894 #define DFSDM1_Filter1_MORT ((DFSDM_TypeDef *) DFSDM_Filter1_BASE) 01895 #if defined(STM32F413_423xx) 01896 #define DFSDM2_Channel0_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel0_BASE_MORT) 01897 #define DFSDM2_Channel1_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel1_BASE_MORT) 01898 #define DFSDM2_Channel2_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel2_BASE_MORT) 01899 #define DFSDM2_Channel3_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel3_BASE_MORT) 01900 #define DFSDM2_Channel4_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel4_BASE_MORT) 01901 #define DFSDM2_Channel5_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel5_BASE_MORT) 01902 #define DFSDM2_Channel6_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel6_BASE_MORT) 01903 #define DFSDM2_Channel7_MORT ((DFSDM_Channel_TypeDef_mort *) DFSDM2_Channel7_BASE_MORT) 01904 #define DFSDM2_Filter0_MORT ((DFSDM_Filter_TypeDef_mort *) DFSDM2_Filter0_BASE_MORT) 01905 #define DFSDM2_Filter1_MORT ((DFSDM_Filter_TypeDef_mort *) DFSDM2_Filter1_BASE_MORT) 01906 #define DFSDM2_Filter2_MORT ((DFSDM_Filter_TypeDef_mort *) DFSDM2_Filter2_BASE_MORT) 01907 #define DFSDM2_Filter3_MORT ((DFSDM_Filter_TypeDef_mort *) DFSDM2_Filter3_BASE_MORT) 01908 #endif /* STM32F413_423xx */ 01909 #endif /* STM32F412xG || STM32F413_423xx */ 01910 #define GPIOA_MORT ((GPIO_TypeDef_mort *) GPIOA_BASE_MORT) 01911 #define GPIOB_MORT ((GPIO_TypeDef_mort *) GPIOB_BASE_MORT) 01912 #define GPIOC_MORT ((GPIO_TypeDef_mort *) GPIOC_BASE_MORT) 01913 #define GPIOD_MORT ((GPIO_TypeDef_mort *) GPIOD_BASE_MORT) 01914 #define GPIOE_MORT ((GPIO_TypeDef_mort *) GPIOE_BASE_MORT) 01915 #define GPIOF_MORT ((GPIO_TypeDef_mort *) GPIOF_BASE_MORT) 01916 #define GPIOG_MORT ((GPIO_TypeDef_mort *) GPIOG_BASE_MORT) 01917 #define GPIOH_MORT ((GPIO_TypeDef_mort *) GPIOH_BASE_MORT) 01918 #define GPIOI_MORT ((GPIO_TypeDef_mort *) GPIOI_BASE_MORT) 01919 #define GPIOJ_MORT ((GPIO_TypeDef_mort *) GPIOJ_BASE_MORT) 01920 #define GPIOK_MORT ((GPIO_TypeDef_mort *) GPIOK_BASE_MORT) 01921 #define CRC_MORT ((CRC_TypeDef_mort *) CRC_BASE_MORT) 01922 #define RCC_MORT ((RCC_TypeDef_mort *) RCC_BASE_MORT) 01923 #define FLASH_MORT ((FLASH_TypeDef_mort *) FLASH_R_BASE_MORT) 01924 #define DMA1_MORT ((DMA_TypeDef_mort *) DMA1_BASE_MORT) 01925 #define DMA1_Stream0_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream0_BASE_MORT) 01926 #define DMA1_Stream1_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream1_BASE_MORT) 01927 #define DMA1_Stream2_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream2_BASE_MORT) 01928 #define DMA1_Stream3_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream3_BASE_MORT) 01929 #define DMA1_Stream4_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream4_BASE_MORT) 01930 #define DMA1_Stream5_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream5_BASE_MORT) 01931 #define DMA1_Stream6_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream6_BASE_MORT) 01932 #define DMA1_Stream7_MORT ((DMA_Stream_TypeDef_mort *) DMA1_Stream7_BASE_MORT) 01933 #define DMA2_MORT ((DMA_TypeDef_mort *) DMA2_BASE_MORT) 01934 #define DMA2_Stream0_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream0_BASE_MORT) 01935 #define DMA2_Stream1_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream1_BASE_MORT) 01936 #define DMA2_Stream2_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream2_BASE_MORT) 01937 #define DMA2_Stream3_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream3_BASE_MORT) 01938 #define DMA2_Stream4_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream4_BASE_MORT) 01939 #define DMA2_Stream5_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream5_BASE_MORT) 01940 #define DMA2_Stream6_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream6_BASE_MORT) 01941 #define DMA2_Stream7_MORT ((DMA_Stream_TypeDef_mort *) DMA2_Stream7_BASE_MORT) 01942 #define ETH_MORT ((ETH_TypeDef_mort *) ETH_BASE_MORT) 01943 #define DMA2D_MORT ((DMA2D_TypeDef_mort *)DMA2D_BASE_MORT) 01944 #define DCMI_MORT ((DCMI_TypeDef_mort *) DCMI_BASE_MORT) 01945 #define CRYP_MORT ((CRYP_TypeDef_mort *) CRYP_BASE_MORT) 01946 #define HASH_MORT ((HASH_TypeDef_mort *) HASH_BASE_MORT) 01947 #define HASH_DIGEST_MORT ((HASH_DIGEST_TypeDef_mort *) HASH_DIGEST_BASE_MORT) 01948 #define RNG_MORT ((RNG_TypeDef_mort *) RNG_BASE_MORT) 01949 01950 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 01951 #define FSMC_Bank1_MORT ((FSMC_Bank1_TypeDef_mort *) FSMC_Bank1_R_BASE_MORT) 01952 #define FSMC_Bank1E_MORT ((FSMC_Bank1E_TypeDef_mort *) FSMC_Bank1E_R_BASE_MORT) 01953 #define FSMC_Bank2_MORT ((FSMC_Bank2_TypeDef_mort *) FSMC_Bank2_R_BASE_MORT) 01954 #define FSMC_Bank3_MORT ((FSMC_Bank3_TypeDef_mort *) FSMC_Bank3_R_BASE_MORT) 01955 #define FSMC_Bank4_MORT ((FSMC_Bank4_TypeDef_mort *) FSMC_Bank4_R_BASE_MORT) 01956 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 01957 01958 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 01959 #define FMC_Bank1_MORT ((FMC_Bank1_TypeDef_mort *) FMC_Bank1_R_BASE_MORT) 01960 #define FMC_Bank1E_MORT ((FMC_Bank1E_TypeDef_mort *) FMC_Bank1E_R_BASE_MORT) 01961 #define FMC_Bank2_MORT ((FMC_Bank2_TypeDef_mort *) FMC_Bank2_R_BASE_MORT) 01962 #define FMC_Bank3_MORT ((FMC_Bank3_TypeDef_mort *) FMC_Bank3_R_BASE_MORT) 01963 #define FMC_Bank4_MORT ((FMC_Bank4_TypeDef_mort *) FMC_Bank4_R_BASE_MORT) 01964 #define FMC_Bank5_6_MORT ((FMC_Bank5_6_TypeDef_mort *) FMC_Bank5_6_R_BASE_MORT) 01965 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 01966 01967 #define DBGMCU_MORT ((DBGMCU_TypeDef_mort *) DBGMCU_BASE_MORT) 01968 01969 /** 01970 * @} 01971 */ 01972 01973 /** @addtogroup Exported_constants 01974 * @{ 01975 */ 01976 01977 /** @addtogroup Peripheral_Registers_Bits_Definition 01978 * @{ 01979 */ 01980 01981 /******************************************************************************/ 01982 /* Peripheral Registers_Bits_Definition */ 01983 /******************************************************************************/ 01984 01985 /******************************************************************************/ 01986 /* */ 01987 /* Analog to Digital Converter */ 01988 /* */ 01989 /******************************************************************************/ 01990 /******************** Bit definition for ADC_SR register ********************/ 01991 #define ADC_SR_AWD_MORT ((uint8_t)0x01) /*!<Analog watchdog flag */ 01992 #define ADC_SR_EOC_MORT ((uint8_t)0x02) /*!<End of conversion */ 01993 #define ADC_SR_JEOC_MORT ((uint8_t)0x04) /*!<Injected channel end of conversion */ 01994 #define ADC_SR_JSTRT_MORT ((uint8_t)0x08) /*!<Injected channel Start flag */ 01995 #define ADC_SR_STRT_MORT ((uint8_t)0x10) /*!<Regular channel Start flag */ 01996 #define ADC_SR_OVR_MORT ((uint8_t)0x20) /*!<Overrun flag */ 01997 01998 /******************* Bit definition for ADC_CR1 register ********************/ 01999 #define ADC_CR1_AWDCH_MORT ((uint32_t)0x0000001F) /*!<AWDCH[4:0] bits (Analog watchdog channel select bits) */ 02000 #define ADC_CR1_AWDCH_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02001 #define ADC_CR1_AWDCH_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02002 #define ADC_CR1_AWDCH_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02003 #define ADC_CR1_AWDCH_3_MORT ((uint32_t)0x00000008) /*!<Bit 3 */ 02004 #define ADC_CR1_AWDCH_4_MORT ((uint32_t)0x00000010) /*!<Bit 4 */ 02005 #define ADC_CR1_EOCIE_MORT ((uint32_t)0x00000020) /*!<Interrupt enable for EOC */ 02006 #define ADC_CR1_AWDIE_MORT ((uint32_t)0x00000040) /*!<AAnalog Watchdog interrupt enable */ 02007 #define ADC_CR1_JEOCIE_MORT ((uint32_t)0x00000080) /*!<Interrupt enable for injected channels */ 02008 #define ADC_CR1_SCAN_MORT ((uint32_t)0x00000100) /*!<Scan mode */ 02009 #define ADC_CR1_AWDSGL_MORT ((uint32_t)0x00000200) /*!<Enable the watchdog on a single channel in scan mode */ 02010 #define ADC_CR1_JAUTO_MORT ((uint32_t)0x00000400) /*!<Automatic injected group conversion */ 02011 #define ADC_CR1_DISCEN_MORT ((uint32_t)0x00000800) /*!<Discontinuous mode on regular channels */ 02012 #define ADC_CR1_JDISCEN_MORT ((uint32_t)0x00001000) /*!<Discontinuous mode on injected channels */ 02013 #define ADC_CR1_DISCNUM_MORT ((uint32_t)0x0000E000) /*!<DISCNUM[2:0] bits (Discontinuous mode channel count) */ 02014 #define ADC_CR1_DISCNUM_0_MORT ((uint32_t)0x00002000) /*!<Bit 0 */ 02015 #define ADC_CR1_DISCNUM_1_MORT ((uint32_t)0x00004000) /*!<Bit 1 */ 02016 #define ADC_CR1_DISCNUM_2_MORT ((uint32_t)0x00008000) /*!<Bit 2 */ 02017 #define ADC_CR1_JAWDEN_MORT ((uint32_t)0x00400000) /*!<Analog watchdog enable on injected channels */ 02018 #define ADC_CR1_AWDEN_MORT ((uint32_t)0x00800000) /*!<Analog watchdog enable on regular channels */ 02019 #define ADC_CR1_RES_MORT ((uint32_t)0x03000000) /*!<RES[2:0] bits (Resolution) */ 02020 #define ADC_CR1_RES_0_MORT ((uint32_t)0x01000000) /*!<Bit 0 */ 02021 #define ADC_CR1_RES_1_MORT ((uint32_t)0x02000000) /*!<Bit 1 */ 02022 #define ADC_CR1_OVRIE_MORT ((uint32_t)0x04000000) /*!<overrun interrupt enable */ 02023 02024 /******************* Bit definition for ADC_CR2 register ********************/ 02025 #define ADC_CR2_ADON_MORT ((uint32_t)0x00000001) /*!<A/D Converter ON / OFF */ 02026 #define ADC_CR2_CONT_MORT ((uint32_t)0x00000002) /*!<Continuous Conversion */ 02027 #define ADC_CR2_DMA_MORT ((uint32_t)0x00000100) /*!<Direct Memory access mode */ 02028 #define ADC_CR2_DDS_MORT ((uint32_t)0x00000200) /*!<DMA disable selection (Single ADC_MORT) */ 02029 #define ADC_CR2_EOCS_MORT ((uint32_t)0x00000400) /*!<End of conversion selection */ 02030 #define ADC_CR2_ALIGN_MORT ((uint32_t)0x00000800) /*!<Data Alignment */ 02031 #define ADC_CR2_JEXTSEL_MORT ((uint32_t)0x000F0000) /*!<JEXTSEL[3:0] bits (External event select for injected group) */ 02032 #define ADC_CR2_JEXTSEL_0_MORT ((uint32_t)0x00010000) /*!<Bit 0 */ 02033 #define ADC_CR2_JEXTSEL_1_MORT ((uint32_t)0x00020000) /*!<Bit 1 */ 02034 #define ADC_CR2_JEXTSEL_2_MORT ((uint32_t)0x00040000) /*!<Bit 2 */ 02035 #define ADC_CR2_JEXTSEL_3_MORT ((uint32_t)0x00080000) /*!<Bit 3 */ 02036 #define ADC_CR2_JEXTEN_MORT ((uint32_t)0x00300000) /*!<JEXTEN[1:0] bits (External Trigger Conversion mode for injected channelsp) */ 02037 #define ADC_CR2_JEXTEN_0_MORT ((uint32_t)0x00100000) /*!<Bit 0 */ 02038 #define ADC_CR2_JEXTEN_1_MORT ((uint32_t)0x00200000) /*!<Bit 1 */ 02039 #define ADC_CR2_JSWSTART_MORT ((uint32_t)0x00400000) /*!<Start Conversion of injected channels */ 02040 #define ADC_CR2_EXTSEL_MORT ((uint32_t)0x0F000000) /*!<EXTSEL[3:0] bits (External Event Select for regular group) */ 02041 #define ADC_CR2_EXTSEL_0_MORT ((uint32_t)0x01000000) /*!<Bit 0 */ 02042 #define ADC_CR2_EXTSEL_1_MORT ((uint32_t)0x02000000) /*!<Bit 1 */ 02043 #define ADC_CR2_EXTSEL_2_MORT ((uint32_t)0x04000000) /*!<Bit 2 */ 02044 #define ADC_CR2_EXTSEL_3_MORT ((uint32_t)0x08000000) /*!<Bit 3 */ 02045 #define ADC_CR2_EXTEN_MORT ((uint32_t)0x30000000) /*!<EXTEN[1:0] bits (External Trigger Conversion mode for regular channelsp) */ 02046 #define ADC_CR2_EXTEN_0_MORT ((uint32_t)0x10000000) /*!<Bit 0 */ 02047 #define ADC_CR2_EXTEN_1_MORT ((uint32_t)0x20000000) /*!<Bit 1 */ 02048 #define ADC_CR2_SWSTART_MORT ((uint32_t)0x40000000) /*!<Start Conversion of regular channels */ 02049 02050 /****************** Bit definition for ADC_SMPR1 register *******************/ 02051 #define ADC_SMPR1_SMP10_MORT ((uint32_t)0x00000007) /*!<SMP10[2:0] bits (Channel 10 Sample time selection) */ 02052 #define ADC_SMPR1_SMP10_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02053 #define ADC_SMPR1_SMP10_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02054 #define ADC_SMPR1_SMP10_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02055 #define ADC_SMPR1_SMP11_MORT ((uint32_t)0x00000038) /*!<SMP11[2:0] bits (Channel 11 Sample time selection) */ 02056 #define ADC_SMPR1_SMP11_0_MORT ((uint32_t)0x00000008) /*!<Bit 0 */ 02057 #define ADC_SMPR1_SMP11_1_MORT ((uint32_t)0x00000010) /*!<Bit 1 */ 02058 #define ADC_SMPR1_SMP11_2_MORT ((uint32_t)0x00000020) /*!<Bit 2 */ 02059 #define ADC_SMPR1_SMP12_MORT ((uint32_t)0x000001C0) /*!<SMP12[2:0] bits (Channel 12 Sample time selection) */ 02060 #define ADC_SMPR1_SMP12_0_MORT ((uint32_t)0x00000040) /*!<Bit 0 */ 02061 #define ADC_SMPR1_SMP12_1_MORT ((uint32_t)0x00000080) /*!<Bit 1 */ 02062 #define ADC_SMPR1_SMP12_2_MORT ((uint32_t)0x00000100) /*!<Bit 2 */ 02063 #define ADC_SMPR1_SMP13_MORT ((uint32_t)0x00000E00) /*!<SMP13[2:0] bits (Channel 13 Sample time selection) */ 02064 #define ADC_SMPR1_SMP13_0_MORT ((uint32_t)0x00000200) /*!<Bit 0 */ 02065 #define ADC_SMPR1_SMP13_1_MORT ((uint32_t)0x00000400) /*!<Bit 1 */ 02066 #define ADC_SMPR1_SMP13_2_MORT ((uint32_t)0x00000800) /*!<Bit 2 */ 02067 #define ADC_SMPR1_SMP14_MORT ((uint32_t)0x00007000) /*!<SMP14[2:0] bits (Channel 14 Sample time selection) */ 02068 #define ADC_SMPR1_SMP14_0_MORT ((uint32_t)0x00001000) /*!<Bit 0 */ 02069 #define ADC_SMPR1_SMP14_1_MORT ((uint32_t)0x00002000) /*!<Bit 1 */ 02070 #define ADC_SMPR1_SMP14_2_MORT ((uint32_t)0x00004000) /*!<Bit 2 */ 02071 #define ADC_SMPR1_SMP15_MORT ((uint32_t)0x00038000) /*!<SMP15[2:0] bits (Channel 15 Sample time selection) */ 02072 #define ADC_SMPR1_SMP15_0_MORT ((uint32_t)0x00008000) /*!<Bit 0 */ 02073 #define ADC_SMPR1_SMP15_1_MORT ((uint32_t)0x00010000) /*!<Bit 1 */ 02074 #define ADC_SMPR1_SMP15_2_MORT ((uint32_t)0x00020000) /*!<Bit 2 */ 02075 #define ADC_SMPR1_SMP16_MORT ((uint32_t)0x001C0000) /*!<SMP16[2:0] bits (Channel 16 Sample time selection) */ 02076 #define ADC_SMPR1_SMP16_0_MORT ((uint32_t)0x00040000) /*!<Bit 0 */ 02077 #define ADC_SMPR1_SMP16_1_MORT ((uint32_t)0x00080000) /*!<Bit 1 */ 02078 #define ADC_SMPR1_SMP16_2_MORT ((uint32_t)0x00100000) /*!<Bit 2 */ 02079 #define ADC_SMPR1_SMP17_MORT ((uint32_t)0x00E00000) /*!<SMP17[2:0] bits (Channel 17 Sample time selection) */ 02080 #define ADC_SMPR1_SMP17_0_MORT ((uint32_t)0x00200000) /*!<Bit 0 */ 02081 #define ADC_SMPR1_SMP17_1_MORT ((uint32_t)0x00400000) /*!<Bit 1 */ 02082 #define ADC_SMPR1_SMP17_2_MORT ((uint32_t)0x00800000) /*!<Bit 2 */ 02083 #define ADC_SMPR1_SMP18_MORT ((uint32_t)0x07000000) /*!<SMP18[2:0] bits (Channel 18 Sample time selection) */ 02084 #define ADC_SMPR1_SMP18_0_MORT ((uint32_t)0x01000000) /*!<Bit 0 */ 02085 #define ADC_SMPR1_SMP18_1_MORT ((uint32_t)0x02000000) /*!<Bit 1 */ 02086 #define ADC_SMPR1_SMP18_2_MORT ((uint32_t)0x04000000) /*!<Bit 2 */ 02087 02088 /****************** Bit definition for ADC_SMPR2 register *******************/ 02089 #define ADC_SMPR2_SMP0_MORT ((uint32_t)0x00000007) /*!<SMP0[2:0] bits (Channel 0 Sample time selection) */ 02090 #define ADC_SMPR2_SMP0_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02091 #define ADC_SMPR2_SMP0_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02092 #define ADC_SMPR2_SMP0_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02093 #define ADC_SMPR2_SMP1_MORT ((uint32_t)0x00000038) /*!<SMP1[2:0] bits (Channel 1 Sample time selection) */ 02094 #define ADC_SMPR2_SMP1_0_MORT ((uint32_t)0x00000008) /*!<Bit 0 */ 02095 #define ADC_SMPR2_SMP1_1_MORT ((uint32_t)0x00000010) /*!<Bit 1 */ 02096 #define ADC_SMPR2_SMP1_2_MORT ((uint32_t)0x00000020) /*!<Bit 2 */ 02097 #define ADC_SMPR2_SMP2_MORT ((uint32_t)0x000001C0) /*!<SMP2[2:0] bits (Channel 2 Sample time selection) */ 02098 #define ADC_SMPR2_SMP2_0_MORT ((uint32_t)0x00000040) /*!<Bit 0 */ 02099 #define ADC_SMPR2_SMP2_1_MORT ((uint32_t)0x00000080) /*!<Bit 1 */ 02100 #define ADC_SMPR2_SMP2_2_MORT ((uint32_t)0x00000100) /*!<Bit 2 */ 02101 #define ADC_SMPR2_SMP3_MORT ((uint32_t)0x00000E00) /*!<SMP3[2:0] bits (Channel 3 Sample time selection) */ 02102 #define ADC_SMPR2_SMP3_0_MORT ((uint32_t)0x00000200) /*!<Bit 0 */ 02103 #define ADC_SMPR2_SMP3_1_MORT ((uint32_t)0x00000400) /*!<Bit 1 */ 02104 #define ADC_SMPR2_SMP3_2_MORT ((uint32_t)0x00000800) /*!<Bit 2 */ 02105 #define ADC_SMPR2_SMP4_MORT ((uint32_t)0x00007000) /*!<SMP4[2:0] bits (Channel 4 Sample time selection) */ 02106 #define ADC_SMPR2_SMP4_0_MORT ((uint32_t)0x00001000) /*!<Bit 0 */ 02107 #define ADC_SMPR2_SMP4_1_MORT ((uint32_t)0x00002000) /*!<Bit 1 */ 02108 #define ADC_SMPR2_SMP4_2_MORT ((uint32_t)0x00004000) /*!<Bit 2 */ 02109 #define ADC_SMPR2_SMP5_MORT ((uint32_t)0x00038000) /*!<SMP5[2:0] bits (Channel 5 Sample time selection) */ 02110 #define ADC_SMPR2_SMP5_0_MORT ((uint32_t)0x00008000) /*!<Bit 0 */ 02111 #define ADC_SMPR2_SMP5_1_MORT ((uint32_t)0x00010000) /*!<Bit 1 */ 02112 #define ADC_SMPR2_SMP5_2_MORT ((uint32_t)0x00020000) /*!<Bit 2 */ 02113 #define ADC_SMPR2_SMP6_MORT ((uint32_t)0x001C0000) /*!<SMP6[2:0] bits (Channel 6 Sample time selection) */ 02114 #define ADC_SMPR2_SMP6_0_MORT ((uint32_t)0x00040000) /*!<Bit 0 */ 02115 #define ADC_SMPR2_SMP6_1_MORT ((uint32_t)0x00080000) /*!<Bit 1 */ 02116 #define ADC_SMPR2_SMP6_2_MORT ((uint32_t)0x00100000) /*!<Bit 2 */ 02117 #define ADC_SMPR2_SMP7_MORT ((uint32_t)0x00E00000) /*!<SMP7[2:0] bits (Channel 7 Sample time selection) */ 02118 #define ADC_SMPR2_SMP7_0_MORT ((uint32_t)0x00200000) /*!<Bit 0 */ 02119 #define ADC_SMPR2_SMP7_1_MORT ((uint32_t)0x00400000) /*!<Bit 1 */ 02120 #define ADC_SMPR2_SMP7_2_MORT ((uint32_t)0x00800000) /*!<Bit 2 */ 02121 #define ADC_SMPR2_SMP8_MORT ((uint32_t)0x07000000) /*!<SMP8[2:0] bits (Channel 8 Sample time selection) */ 02122 #define ADC_SMPR2_SMP8_0_MORT ((uint32_t)0x01000000) /*!<Bit 0 */ 02123 #define ADC_SMPR2_SMP8_1_MORT ((uint32_t)0x02000000) /*!<Bit 1 */ 02124 #define ADC_SMPR2_SMP8_2_MORT ((uint32_t)0x04000000) /*!<Bit 2 */ 02125 #define ADC_SMPR2_SMP9_MORT ((uint32_t)0x38000000) /*!<SMP9[2:0] bits (Channel 9 Sample time selection) */ 02126 #define ADC_SMPR2_SMP9_0_MORT ((uint32_t)0x08000000) /*!<Bit 0 */ 02127 #define ADC_SMPR2_SMP9_1_MORT ((uint32_t)0x10000000) /*!<Bit 1 */ 02128 #define ADC_SMPR2_SMP9_2_MORT ((uint32_t)0x20000000) /*!<Bit 2 */ 02129 02130 /****************** Bit definition for ADC_JOFR1 register *******************/ 02131 #define ADC_JOFR1_JOFFSET1_MORT ((uint16_t)0x0FFF) /*!<Data offset for injected channel 1 */ 02132 02133 /****************** Bit definition for ADC_JOFR2 register *******************/ 02134 #define ADC_JOFR2_JOFFSET2_MORT ((uint16_t)0x0FFF) /*!<Data offset for injected channel 2 */ 02135 02136 /****************** Bit definition for ADC_JOFR3 register *******************/ 02137 #define ADC_JOFR3_JOFFSET3_MORT ((uint16_t)0x0FFF) /*!<Data offset for injected channel 3 */ 02138 02139 /****************** Bit definition for ADC_JOFR4 register *******************/ 02140 #define ADC_JOFR4_JOFFSET4_MORT ((uint16_t)0x0FFF) /*!<Data offset for injected channel 4 */ 02141 02142 /******************* Bit definition for ADC_HTR register ********************/ 02143 #define ADC_HTR_HT_MORT ((uint16_t)0x0FFF) /*!<Analog watchdog high threshold */ 02144 02145 /******************* Bit definition for ADC_LTR register ********************/ 02146 #define ADC_LTR_LT_MORT ((uint16_t)0x0FFF) /*!<Analog watchdog low threshold */ 02147 02148 /******************* Bit definition for ADC_SQR1 register *******************/ 02149 #define ADC_SQR1_SQ13_MORT ((uint32_t)0x0000001F) /*!<SQ13[4:0] bits (13th conversion in regular sequence) */ 02150 #define ADC_SQR1_SQ13_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02151 #define ADC_SQR1_SQ13_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02152 #define ADC_SQR1_SQ13_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02153 #define ADC_SQR1_SQ13_3_MORT ((uint32_t)0x00000008) /*!<Bit 3 */ 02154 #define ADC_SQR1_SQ13_4_MORT ((uint32_t)0x00000010) /*!<Bit 4 */ 02155 #define ADC_SQR1_SQ14_MORT ((uint32_t)0x000003E0) /*!<SQ14[4:0] bits (14th conversion in regular sequence) */ 02156 #define ADC_SQR1_SQ14_0_MORT ((uint32_t)0x00000020) /*!<Bit 0 */ 02157 #define ADC_SQR1_SQ14_1_MORT ((uint32_t)0x00000040) /*!<Bit 1 */ 02158 #define ADC_SQR1_SQ14_2_MORT ((uint32_t)0x00000080) /*!<Bit 2 */ 02159 #define ADC_SQR1_SQ14_3_MORT ((uint32_t)0x00000100) /*!<Bit 3 */ 02160 #define ADC_SQR1_SQ14_4_MORT ((uint32_t)0x00000200) /*!<Bit 4 */ 02161 #define ADC_SQR1_SQ15_MORT ((uint32_t)0x00007C00) /*!<SQ15[4:0] bits (15th conversion in regular sequence) */ 02162 #define ADC_SQR1_SQ15_0_MORT ((uint32_t)0x00000400) /*!<Bit 0 */ 02163 #define ADC_SQR1_SQ15_1_MORT ((uint32_t)0x00000800) /*!<Bit 1 */ 02164 #define ADC_SQR1_SQ15_2_MORT ((uint32_t)0x00001000) /*!<Bit 2 */ 02165 #define ADC_SQR1_SQ15_3_MORT ((uint32_t)0x00002000) /*!<Bit 3 */ 02166 #define ADC_SQR1_SQ15_4_MORT ((uint32_t)0x00004000) /*!<Bit 4 */ 02167 #define ADC_SQR1_SQ16_MORT ((uint32_t)0x000F8000) /*!<SQ16[4:0] bits (16th conversion in regular sequence) */ 02168 #define ADC_SQR1_SQ16_0_MORT ((uint32_t)0x00008000) /*!<Bit 0 */ 02169 #define ADC_SQR1_SQ16_1_MORT ((uint32_t)0x00010000) /*!<Bit 1 */ 02170 #define ADC_SQR1_SQ16_2_MORT ((uint32_t)0x00020000) /*!<Bit 2 */ 02171 #define ADC_SQR1_SQ16_3_MORT ((uint32_t)0x00040000) /*!<Bit 3 */ 02172 #define ADC_SQR1_SQ16_4_MORT ((uint32_t)0x00080000) /*!<Bit 4 */ 02173 #define ADC_SQR1_L_MORT ((uint32_t)0x00F00000) /*!<L[3:0] bits (Regular channel sequence length) */ 02174 #define ADC_SQR1_L__0_MORT ((uint32_t)0x00100000) /*!<Bit 0 */ 02175 #define ADC_SQR1_L__1_MORT ((uint32_t)0x00200000) /*!<Bit 1 */ 02176 #define ADC_SQR1_L__2_MORT ((uint32_t)0x00400000) /*!<Bit 2 */ 02177 #define ADC_SQR1_L__3_MORT ((uint32_t)0x00800000) /*!<Bit 3 */ 02178 02179 /******************* Bit definition for ADC_SQR2 register *******************/ 02180 #define ADC_SQR2_SQ7_MORT ((uint32_t)0x0000001F) /*!<SQ7[4:0] bits (7th conversion in regular sequence) */ 02181 #define ADC_SQR2_SQ7_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02182 #define ADC_SQR2_SQ7_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02183 #define ADC_SQR2_SQ7_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02184 #define ADC_SQR2_SQ7_3_MORT ((uint32_t)0x00000008) /*!<Bit 3 */ 02185 #define ADC_SQR2_SQ7_4_MORT ((uint32_t)0x00000010) /*!<Bit 4 */ 02186 #define ADC_SQR2_SQ8_MORT ((uint32_t)0x000003E0) /*!<SQ8[4:0] bits (8th conversion in regular sequence) */ 02187 #define ADC_SQR2_SQ8_0_MORT ((uint32_t)0x00000020) /*!<Bit 0 */ 02188 #define ADC_SQR2_SQ8_1_MORT ((uint32_t)0x00000040) /*!<Bit 1 */ 02189 #define ADC_SQR2_SQ8_2_MORT ((uint32_t)0x00000080) /*!<Bit 2 */ 02190 #define ADC_SQR2_SQ8_3_MORT ((uint32_t)0x00000100) /*!<Bit 3 */ 02191 #define ADC_SQR2_SQ8_4_MORT ((uint32_t)0x00000200) /*!<Bit 4 */ 02192 #define ADC_SQR2_SQ9_MORT ((uint32_t)0x00007C00) /*!<SQ9[4:0] bits (9th conversion in regular sequence) */ 02193 #define ADC_SQR2_SQ9_0_MORT ((uint32_t)0x00000400) /*!<Bit 0 */ 02194 #define ADC_SQR2_SQ9_1_MORT ((uint32_t)0x00000800) /*!<Bit 1 */ 02195 #define ADC_SQR2_SQ9_2_MORT ((uint32_t)0x00001000) /*!<Bit 2 */ 02196 #define ADC_SQR2_SQ9_3_MORT ((uint32_t)0x00002000) /*!<Bit 3 */ 02197 #define ADC_SQR2_SQ9_4_MORT ((uint32_t)0x00004000) /*!<Bit 4 */ 02198 #define ADC_SQR2_SQ10_MORT ((uint32_t)0x000F8000) /*!<SQ10[4:0] bits (10th conversion in regular sequence) */ 02199 #define ADC_SQR2_SQ10_0_MORT ((uint32_t)0x00008000) /*!<Bit 0 */ 02200 #define ADC_SQR2_SQ10_1_MORT ((uint32_t)0x00010000) /*!<Bit 1 */ 02201 #define ADC_SQR2_SQ10_2_MORT ((uint32_t)0x00020000) /*!<Bit 2 */ 02202 #define ADC_SQR2_SQ10_3_MORT ((uint32_t)0x00040000) /*!<Bit 3 */ 02203 #define ADC_SQR2_SQ10_4_MORT ((uint32_t)0x00080000) /*!<Bit 4 */ 02204 #define ADC_SQR2_SQ11_MORT ((uint32_t)0x01F00000) /*!<SQ11[4:0] bits (11th conversion in regular sequence) */ 02205 #define ADC_SQR2_SQ11_0_MORT ((uint32_t)0x00100000) /*!<Bit 0 */ 02206 #define ADC_SQR2_SQ11_1_MORT ((uint32_t)0x00200000) /*!<Bit 1 */ 02207 #define ADC_SQR2_SQ11_2_MORT ((uint32_t)0x00400000) /*!<Bit 2 */ 02208 #define ADC_SQR2_SQ11_3_MORT ((uint32_t)0x00800000) /*!<Bit 3 */ 02209 #define ADC_SQR2_SQ11_4_MORT ((uint32_t)0x01000000) /*!<Bit 4 */ 02210 #define ADC_SQR2_SQ12_MORT ((uint32_t)0x3E000000) /*!<SQ12[4:0] bits (12th conversion in regular sequence) */ 02211 #define ADC_SQR2_SQ12_0_MORT ((uint32_t)0x02000000) /*!<Bit 0 */ 02212 #define ADC_SQR2_SQ12_1_MORT ((uint32_t)0x04000000) /*!<Bit 1 */ 02213 #define ADC_SQR2_SQ12_2_MORT ((uint32_t)0x08000000) /*!<Bit 2 */ 02214 #define ADC_SQR2_SQ12_3_MORT ((uint32_t)0x10000000) /*!<Bit 3 */ 02215 #define ADC_SQR2_SQ12_4_MORT ((uint32_t)0x20000000) /*!<Bit 4 */ 02216 02217 /******************* Bit definition for ADC_SQR3 register *******************/ 02218 #define ADC_SQR3_SQ1_MORT ((uint32_t)0x0000001F) /*!<SQ1[4:0] bits (1st conversion in regular sequence) */ 02219 #define ADC_SQR3_SQ1_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02220 #define ADC_SQR3_SQ1_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02221 #define ADC_SQR3_SQ1_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02222 #define ADC_SQR3_SQ1_3_MORT ((uint32_t)0x00000008) /*!<Bit 3 */ 02223 #define ADC_SQR3_SQ1_4_MORT ((uint32_t)0x00000010) /*!<Bit 4 */ 02224 #define ADC_SQR3_SQ2_MORT ((uint32_t)0x000003E0) /*!<SQ2[4:0] bits (2nd conversion in regular sequence) */ 02225 #define ADC_SQR3_SQ2_0_MORT ((uint32_t)0x00000020) /*!<Bit 0 */ 02226 #define ADC_SQR3_SQ2_1_MORT ((uint32_t)0x00000040) /*!<Bit 1 */ 02227 #define ADC_SQR3_SQ2_2_MORT ((uint32_t)0x00000080) /*!<Bit 2 */ 02228 #define ADC_SQR3_SQ2_3_MORT ((uint32_t)0x00000100) /*!<Bit 3 */ 02229 #define ADC_SQR3_SQ2_4_MORT ((uint32_t)0x00000200) /*!<Bit 4 */ 02230 #define ADC_SQR3_SQ3_MORT ((uint32_t)0x00007C00) /*!<SQ3[4:0] bits (3rd conversion in regular sequence) */ 02231 #define ADC_SQR3_SQ3_0_MORT ((uint32_t)0x00000400) /*!<Bit 0 */ 02232 #define ADC_SQR3_SQ3_1_MORT ((uint32_t)0x00000800) /*!<Bit 1 */ 02233 #define ADC_SQR3_SQ3_2_MORT ((uint32_t)0x00001000) /*!<Bit 2 */ 02234 #define ADC_SQR3_SQ3_3_MORT ((uint32_t)0x00002000) /*!<Bit 3 */ 02235 #define ADC_SQR3_SQ3_4_MORT ((uint32_t)0x00004000) /*!<Bit 4 */ 02236 #define ADC_SQR3_SQ4_MORT ((uint32_t)0x000F8000) /*!<SQ4[4:0] bits (4th conversion in regular sequence) */ 02237 #define ADC_SQR3_SQ4_0_MORT ((uint32_t)0x00008000) /*!<Bit 0 */ 02238 #define ADC_SQR3_SQ4_1_MORT ((uint32_t)0x00010000) /*!<Bit 1 */ 02239 #define ADC_SQR3_SQ4_2_MORT ((uint32_t)0x00020000) /*!<Bit 2 */ 02240 #define ADC_SQR3_SQ4_3_MORT ((uint32_t)0x00040000) /*!<Bit 3 */ 02241 #define ADC_SQR3_SQ4_4_MORT ((uint32_t)0x00080000) /*!<Bit 4 */ 02242 #define ADC_SQR3_SQ5_MORT ((uint32_t)0x01F00000) /*!<SQ5[4:0] bits (5th conversion in regular sequence) */ 02243 #define ADC_SQR3_SQ5_0_MORT ((uint32_t)0x00100000) /*!<Bit 0 */ 02244 #define ADC_SQR3_SQ5_1_MORT ((uint32_t)0x00200000) /*!<Bit 1 */ 02245 #define ADC_SQR3_SQ5_2_MORT ((uint32_t)0x00400000) /*!<Bit 2 */ 02246 #define ADC_SQR3_SQ5_3_MORT ((uint32_t)0x00800000) /*!<Bit 3 */ 02247 #define ADC_SQR3_SQ5_4_MORT ((uint32_t)0x01000000) /*!<Bit 4 */ 02248 #define ADC_SQR3_SQ6_MORT ((uint32_t)0x3E000000) /*!<SQ6[4:0] bits (6th conversion in regular sequence) */ 02249 #define ADC_SQR3_SQ6_0_MORT ((uint32_t)0x02000000) /*!<Bit 0 */ 02250 #define ADC_SQR3_SQ6_1_MORT ((uint32_t)0x04000000) /*!<Bit 1 */ 02251 #define ADC_SQR3_SQ6_2_MORT ((uint32_t)0x08000000) /*!<Bit 2 */ 02252 #define ADC_SQR3_SQ6_3_MORT ((uint32_t)0x10000000) /*!<Bit 3 */ 02253 #define ADC_SQR3_SQ6_4_MORT ((uint32_t)0x20000000) /*!<Bit 4 */ 02254 02255 /******************* Bit definition for ADC_JSQR register *******************/ 02256 #define ADC_JSQR_JSQ1_MORT ((uint32_t)0x0000001F) /*!<JSQ1[4:0] bits (1st conversion in injected sequence) */ 02257 #define ADC_JSQR_JSQ1_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02258 #define ADC_JSQR_JSQ1_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02259 #define ADC_JSQR_JSQ1_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02260 #define ADC_JSQR_JSQ1_3_MORT ((uint32_t)0x00000008) /*!<Bit 3 */ 02261 #define ADC_JSQR_JSQ1_4_MORT ((uint32_t)0x00000010) /*!<Bit 4 */ 02262 #define ADC_JSQR_JSQ2_MORT ((uint32_t)0x000003E0) /*!<JSQ2[4:0] bits (2nd conversion in injected sequence) */ 02263 #define ADC_JSQR_JSQ2_0_MORT ((uint32_t)0x00000020) /*!<Bit 0 */ 02264 #define ADC_JSQR_JSQ2_1_MORT ((uint32_t)0x00000040) /*!<Bit 1 */ 02265 #define ADC_JSQR_JSQ2_2_MORT ((uint32_t)0x00000080) /*!<Bit 2 */ 02266 #define ADC_JSQR_JSQ2_3_MORT ((uint32_t)0x00000100) /*!<Bit 3 */ 02267 #define ADC_JSQR_JSQ2_4_MORT ((uint32_t)0x00000200) /*!<Bit 4 */ 02268 #define ADC_JSQR_JSQ3_MORT ((uint32_t)0x00007C00) /*!<JSQ3[4:0] bits (3rd conversion in injected sequence) */ 02269 #define ADC_JSQR_JSQ3_0_MORT ((uint32_t)0x00000400) /*!<Bit 0 */ 02270 #define ADC_JSQR_JSQ3_1_MORT ((uint32_t)0x00000800) /*!<Bit 1 */ 02271 #define ADC_JSQR_JSQ3_2_MORT ((uint32_t)0x00001000) /*!<Bit 2 */ 02272 #define ADC_JSQR_JSQ3_3_MORT ((uint32_t)0x00002000) /*!<Bit 3 */ 02273 #define ADC_JSQR_JSQ3_4_MORT ((uint32_t)0x00004000) /*!<Bit 4 */ 02274 #define ADC_JSQR_JSQ4_MORT ((uint32_t)0x000F8000) /*!<JSQ4[4:0] bits (4th conversion in injected sequence) */ 02275 #define ADC_JSQR_JSQ4_0_MORT ((uint32_t)0x00008000) /*!<Bit 0 */ 02276 #define ADC_JSQR_JSQ4_1_MORT ((uint32_t)0x00010000) /*!<Bit 1 */ 02277 #define ADC_JSQR_JSQ4_2_MORT ((uint32_t)0x00020000) /*!<Bit 2 */ 02278 #define ADC_JSQR_JSQ4_3_MORT ((uint32_t)0x00040000) /*!<Bit 3 */ 02279 #define ADC_JSQR_JSQ4_4_MORT ((uint32_t)0x00080000) /*!<Bit 4 */ 02280 #define ADC_JSQR_JL_MORT ((uint32_t)0x00300000) /*!<JL[1:0] bits (Injected Sequence length) */ 02281 #define ADC_JSQR_JL_0_MORT ((uint32_t)0x00100000) /*!<Bit 0 */ 02282 #define ADC_JSQR_JL_1_MORT ((uint32_t)0x00200000) /*!<Bit 1 */ 02283 02284 /******************* Bit definition for ADC_JDR1 register *******************/ 02285 #define ADC_JDR1_JDATA_MORT ((uint16_t)0xFFFF) /*!<Injected data */ 02286 02287 /******************* Bit definition for ADC_JDR2 register *******************/ 02288 #define ADC_JDR2_JDATA_MORT ((uint16_t)0xFFFF) /*!<Injected data */ 02289 02290 /******************* Bit definition for ADC_JDR3 register *******************/ 02291 #define ADC_JDR3_JDATA_MORT ((uint16_t)0xFFFF) /*!<Injected data */ 02292 02293 /******************* Bit definition for ADC_JDR4 register *******************/ 02294 #define ADC_JDR4_JDATA_MORT ((uint16_t)0xFFFF) /*!<Injected data */ 02295 02296 /******************** Bit definition for ADC_DR register ********************/ 02297 #define ADC_DR_DATA_MORT ((uint32_t)0x0000FFFF) /*!<Regular data */ 02298 #define ADC_DR_ADC2DATA_MORT ((uint32_t)0xFFFF0000) /*!<ADC2_MORT data */ 02299 02300 /******************* Bit definition for ADC_CSR register ********************/ 02301 #define ADC_CSR_AWD1_MORT ((uint32_t)0x00000001) /*!<ADC1_MORT Analog watchdog flag */ 02302 #define ADC_CSR_EOC1_MORT ((uint32_t)0x00000002) /*!<ADC1_MORT End of conversion */ 02303 #define ADC_CSR_JEOC1_MORT ((uint32_t)0x00000004) /*!<ADC1_MORT Injected channel end of conversion */ 02304 #define ADC_CSR_JSTRT1_MORT ((uint32_t)0x00000008) /*!<ADC1_MORT Injected channel Start flag */ 02305 #define ADC_CSR_STRT1_MORT ((uint32_t)0x00000010) /*!<ADC1_MORT Regular channel Start flag */ 02306 #define ADC_CSR_OVR1_MORT ((uint32_t)0x00000020) /*!<ADC1_MORT DMA overrun flag */ 02307 #define ADC_CSR_AWD2_MORT ((uint32_t)0x00000100) /*!<ADC2_MORT Analog watchdog flag */ 02308 #define ADC_CSR_EOC2_MORT ((uint32_t)0x00000200) /*!<ADC2_MORT End of conversion */ 02309 #define ADC_CSR_JEOC2_MORT ((uint32_t)0x00000400) /*!<ADC2_MORT Injected channel end of conversion */ 02310 #define ADC_CSR_JSTRT2_MORT ((uint32_t)0x00000800) /*!<ADC2_MORT Injected channel Start flag */ 02311 #define ADC_CSR_STRT2_MORT ((uint32_t)0x00001000) /*!<ADC2_MORT Regular channel Start flag */ 02312 #define ADC_CSR_OVR2_MORT ((uint32_t)0x00002000) /*!<ADC2_MORT DMA overrun flag */ 02313 #define ADC_CSR_AWD3_MORT ((uint32_t)0x00010000) /*!<ADC3_MORT Analog watchdog flag */ 02314 #define ADC_CSR_EOC3_MORT ((uint32_t)0x00020000) /*!<ADC3_MORT End of conversion */ 02315 #define ADC_CSR_JEOC3_MORT ((uint32_t)0x00040000) /*!<ADC3_MORT Injected channel end of conversion */ 02316 #define ADC_CSR_JSTRT3_MORT ((uint32_t)0x00080000) /*!<ADC3_MORT Injected channel Start flag */ 02317 #define ADC_CSR_STRT3_MORT ((uint32_t)0x00100000) /*!<ADC3_MORT Regular channel Start flag */ 02318 #define ADC_CSR_OVR3_MORT ((uint32_t)0x00200000) /*!<ADC3_MORT DMA overrun flag */ 02319 02320 /* Legacy defines */ 02321 #define ADC_CSR_DOVR1_MORT ADC_CSR_OVR1_MORT 02322 #define ADC_CSR_DOVR2_MORT ADC_CSR_OVR2_MORT 02323 #define ADC_CSR_DOVR3_MORT ADC_CSR_OVR3_MORT 02324 02325 /******************* Bit definition for ADC_CCR register ********************/ 02326 #define ADC_CCR_MULTI_MORT ((uint32_t)0x0000001F) /*!<MULTI[4:0] bits (Multi-ADC_MORT mode selection) */ 02327 #define ADC_CCR_MULTI_0_MORT ((uint32_t)0x00000001) /*!<Bit 0 */ 02328 #define ADC_CCR_MULTI_1_MORT ((uint32_t)0x00000002) /*!<Bit 1 */ 02329 #define ADC_CCR_MULTI_2_MORT ((uint32_t)0x00000004) /*!<Bit 2 */ 02330 #define ADC_CCR_MULTI_3_MORT ((uint32_t)0x00000008) /*!<Bit 3 */ 02331 #define ADC_CCR_MULTI_4_MORT ((uint32_t)0x00000010) /*!<Bit 4 */ 02332 #define ADC_CCR_DELAY_MORT ((uint32_t)0x00000F00) /*!<DELAY[3:0] bits (Delay between 2 sampling phases) */ 02333 #define ADC_CCR_DELAY_0_MORT ((uint32_t)0x00000100) /*!<Bit 0 */ 02334 #define ADC_CCR_DELAY_1_MORT ((uint32_t)0x00000200) /*!<Bit 1 */ 02335 #define ADC_CCR_DELAY_2_MORT ((uint32_t)0x00000400) /*!<Bit 2 */ 02336 #define ADC_CCR_DELAY_3_MORT ((uint32_t)0x00000800) /*!<Bit 3 */ 02337 #define ADC_CCR_DDS_MORT ((uint32_t)0x00002000) /*!<DMA disable selection (Multi-ADC_MORT mode) */ 02338 #define ADC_CCR_DMA_MORT ((uint32_t)0x0000C000) /*!<DMA[1:0] bits (Direct Memory Access mode for multimode) */ 02339 #define ADC_CCR_DMA_0_MORT ((uint32_t)0x00004000) /*!<Bit 0 */ 02340 #define ADC_CCR_DMA_1_MORT ((uint32_t)0x00008000) /*!<Bit 1 */ 02341 #define ADC_CCR_ADCPRE_MORT ((uint32_t)0x00030000) /*!<ADCPRE[1:0] bits (ADC_MORT prescaler) */ 02342 #define ADC_CCR_ADCPRE_0_MORT ((uint32_t)0x00010000) /*!<Bit 0 */ 02343 #define ADC_CCR_ADCPRE_1_MORT ((uint32_t)0x00020000) /*!<Bit 1 */ 02344 #define ADC_CCR_VBATE_MORT ((uint32_t)0x00400000) /*!<VBAT Enable */ 02345 #define ADC_CCR_TSVREFE_MORT ((uint32_t)0x00800000) /*!<Temperature Sensor and VREFINT Enable */ 02346 02347 /******************* Bit definition for ADC_CDR register ********************/ 02348 #define ADC_CDR_DATA1_MORT ((uint32_t)0x0000FFFF) /*!<1st data of a pair of regular conversions */ 02349 #define ADC_CDR_DATA2_MORT ((uint32_t)0xFFFF0000) /*!<2nd data of a pair of regular conversions */ 02350 02351 /******************************************************************************/ 02352 /* */ 02353 /* Controller Area Network */ 02354 /* */ 02355 /******************************************************************************/ 02356 /*!<CAN control and status registers */ 02357 /******************* Bit definition for CAN_MCR register ********************/ 02358 02359 02360 /******************* Bit definition for CAN_MSR register ********************/ 02361 02362 02363 /******************* Bit definition for CAN_TSR register ********************/ 02364 02365 02366 /******************* Bit definition for CAN_RF0R register *******************/ 02367 02368 02369 /******************* Bit definition for CAN_RF1R register *******************/ 02370 02371 02372 /******************** Bit definition for CAN_IER register *******************/ 02373 02374 02375 /******************** Bit definition for CAN_ESR register *******************/ 02376 02377 /******************* Bit definition for CAN_BTR register ********************/ 02378 02379 02380 /*!<Mailbox registers */ 02381 /****************** Bit definition for CAN_TI0R register ********************/ 02382 02383 02384 /****************** Bit definition for CAN_TDT0R register *******************/ 02385 02386 /****************** Bit definition for CAN_TDL0R register *******************/ 02387 02388 02389 /****************** Bit definition for CAN_TDH0R register *******************/ 02390 02391 /******************* Bit definition for CAN_TI1R register *******************/ 02392 02393 02394 /******************* Bit definition for CAN_TDT1R register ******************/ 02395 02396 02397 /******************* Bit definition for CAN_TDL1R register ******************/ 02398 02399 02400 /******************* Bit definition for CAN_TDH1R register ******************/ 02401 02402 02403 /******************* Bit definition for CAN_TI2R register *******************/ 02404 02405 /******************* Bit definition for CAN_TDT2R register ******************/ 02406 02407 02408 /******************* Bit definition for CAN_TDL2R register ******************/ 02409 02410 02411 /******************* Bit definition for CAN_TDH2R register ******************/ 02412 02413 02414 /******************* Bit definition for CAN_RI0R register *******************/ 02415 02416 02417 /******************* Bit definition for CAN_RDT0R register ******************/ 02418 02419 02420 /******************* Bit definition for CAN_RDL0R register ******************/ 02421 02422 02423 /******************* Bit definition for CAN_RDH0R register ******************/ 02424 02425 02426 /******************* Bit definition for CAN_RI1R register *******************/ 02427 02428 02429 /******************* Bit definition for CAN_RDT1R register ******************/ 02430 02431 02432 /******************* Bit definition for CAN_RDL1R register ******************/ 02433 02434 02435 /******************* Bit definition for CAN_RDH1R register ******************/ 02436 02437 02438 /*!<CAN filter registers */ 02439 /******************* Bit definition for CAN_FMR register ********************/ 02440 02441 02442 /******************* Bit definition for CAN_FM1R register *******************/ 02443 02444 02445 /******************* Bit definition for CAN_FS1R register *******************/ 02446 02447 02448 /****************** Bit definition for CAN_FFA1R register *******************/ 02449 02450 02451 /******************* Bit definition for CAN_FA1R register *******************/ 02452 02453 02454 /******************* Bit definition for CAN_F0R1 register *******************/ 02455 02456 02457 /******************* Bit definition for CAN_F1R1 register *******************/ 02458 02459 02460 /******************* Bit definition for CAN_F2R1 register *******************/ 02461 02462 02463 /******************* Bit definition for CAN_F3R1 register *******************/ 02464 02465 02466 /******************* Bit definition for CAN_F4R1 register *******************/ 02467 02468 02469 /******************* Bit definition for CAN_F5R1 register *******************/ 02470 02471 02472 /******************* Bit definition for CAN_F6R1 register *******************/ 02473 02474 02475 /******************* Bit definition for CAN_F7R1 register *******************/ 02476 02477 02478 /******************* Bit definition for CAN_F8R1 register *******************/ 02479 02480 02481 /******************* Bit definition for CAN_F9R1 register *******************/ 02482 02483 02484 /******************* Bit definition for CAN_F10R1 register ******************/ 02485 02486 /******************* Bit definition for CAN_F11R1 register ******************/ 02487 02488 02489 /******************* Bit definition for CAN_F12R1 register ******************/ 02490 02491 02492 /******************* Bit definition for CAN_F13R1 register ******************/ 02493 02494 02495 /******************* Bit definition for CAN_F0R2 register *******************/ 02496 02497 02498 /******************* Bit definition for CAN_F1R2 register *******************/ 02499 02500 02501 /******************* Bit definition for CAN_F2R2 register *******************/ 02502 02503 02504 /******************* Bit definition for CAN_F3R2 register *******************/ 02505 02506 /******************* Bit definition for CAN_F4R2 register *******************/ 02507 02508 02509 /******************* Bit definition for CAN_F5R2 register *******************/ 02510 02511 /******************* Bit definition for CAN_F6R2 register *******************/ 02512 02513 02514 /******************* Bit definition for CAN_F7R2 register *******************/ 02515 02516 02517 /******************* Bit definition for CAN_F8R2 register *******************/ 02518 02519 02520 /******************* Bit definition for CAN_F9R2 register *******************/ 02521 02522 /******************* Bit definition for CAN_F10R2 register ******************/ 02523 02524 /******************* Bit definition for CAN_F11R2 register ******************/ 02525 02526 02527 /******************* Bit definition for CAN_F12R2 register ******************/ 02528 02529 02530 /******************* Bit definition for CAN_F13R2 register ******************/ 02531 02532 02533 02534 #if defined(STM32F446xx_MORT) 02535 /******************************************************************************/ 02536 /* */ 02537 /* HDMI-CEC_MORT (CEC_MORT) */ 02538 /* */ 02539 /******************************************************************************/ 02540 02541 /******************* Bit definition for CEC_CR register *********************/ 02542 #define CEC_CR_CECEN_MORT ((uint32_t)0x00000001) /*!< CEC_MORT Enable */ 02543 #define CEC_CR_TXSOM_MORT ((uint32_t)0x00000002) /*!< CEC_MORT Tx Start Of Message */ 02544 #define CEC_CR_TXEOM_MORT ((uint32_t)0x00000004) /*!< CEC_MORT Tx End Of Message */ 02545 02546 /******************* Bit definition for CEC_CFGR register *******************/ 02547 #define CEC_CFGR_SFT_MORT ((uint32_t)0x00000007) /*!< CEC_MORT Signal Free Time */ 02548 #define CEC_CFGR_RXTOL_MORT ((uint32_t)0x00000008) /*!< CEC_MORT Tolerance */ 02549 #define CEC_CFGR_BRESTP_MORT ((uint32_t)0x00000010) /*!< CEC_MORT Rx Stop */ 02550 #define CEC_CFGR_BREGEN_MORT ((uint32_t)0x00000020) /*!< CEC_MORT Bit Rising Error generation */ 02551 #define CEC_CFGR_LREGEN_MORT ((uint32_t)0x00000040) /*!< CEC_MORT Long Period Error generation */ 02552 #define CEC_CFGR_SFTOPT_MORT ((uint32_t)0x00000100) /*!< CEC_MORT Signal Free Time optional */ 02553 #define CEC_CFGR_BRDNOGEN_MORT ((uint32_t)0x00000080) /*!< CEC_MORT Broadcast No error generation */ 02554 #define CEC_CFGR_OAR_MORT ((uint32_t)0x7FFF0000) /*!< CEC_MORT Own Address */ 02555 #define CEC_CFGR_LSTN_MORT ((uint32_t)0x80000000) /*!< CEC_MORT Listen mode */ 02556 02557 /******************* Bit definition for CEC_TXDR register *******************/ 02558 #define CEC_TXDR_TXD_MORT ((uint32_t)0x000000FF) /*!< CEC_MORT Tx Data */ 02559 02560 /******************* Bit definition for CEC_RXDR register *******************/ 02561 #define CEC_TXDR_RXD_MORT ((uint32_t)0x000000FF) /*!< CEC_MORT Rx Data */ 02562 02563 /******************* Bit definition for CEC_ISR register ********************/ 02564 #define CEC_ISR_RXBR_MORT ((uint32_t)0x00000001) /*!< CEC_MORT Rx-Byte Received */ 02565 #define CEC_ISR_RXEND_MORT ((uint32_t)0x00000002) /*!< CEC_MORT End Of Reception */ 02566 #define CEC_ISR_RXOVR_MORT ((uint32_t)0x00000004) /*!< CEC_MORT Rx-Overrun */ 02567 #define CEC_ISR_BRE_MORT ((uint32_t)0x00000008) /*!< CEC_MORT Rx Bit Rising Error */ 02568 #define CEC_ISR_SBPE_MORT ((uint32_t)0x00000010) /*!< CEC_MORT Rx Short Bit period Error */ 02569 #define CEC_ISR_LBPE_MORT ((uint32_t)0x00000020) /*!< CEC_MORT Rx Long Bit period Error */ 02570 #define CEC_ISR_RXACKE_MORT ((uint32_t)0x00000040) /*!< CEC_MORT Rx Missing Acknowledge */ 02571 #define CEC_ISR_ARBLST_MORT ((uint32_t)0x00000080) /*!< CEC_MORT Arbitration Lost */ 02572 #define CEC_ISR_TXBR_MORT ((uint32_t)0x00000100) /*!< CEC_MORT Tx Byte Request */ 02573 #define CEC_ISR_TXEND_MORT ((uint32_t)0x00000200) /*!< CEC_MORT End of Transmission */ 02574 #define CEC_ISR_TXUDR_MORT ((uint32_t)0x00000400) /*!< CEC_MORT Tx-Buffer Underrun */ 02575 #define CEC_ISR_TXERR_MORT ((uint32_t)0x00000800) /*!< CEC_MORT Tx-Error */ 02576 #define CEC_ISR_TXACKE_MORT ((uint32_t)0x00001000) /*!< CEC_MORT Tx Missing Acknowledge */ 02577 02578 /******************* Bit definition for CEC_IER register ********************/ 02579 #define CEC_IER_RXBRIE_MORT ((uint32_t)0x00000001) /*!< CEC_MORT Rx-Byte Received IT Enable */ 02580 #define CEC_IER_RXENDIE_MORT ((uint32_t)0x00000002) /*!< CEC_MORT End Of Reception IT Enable */ 02581 #define CEC_IER_RXOVRIE_MORT ((uint32_t)0x00000004) /*!< CEC_MORT Rx-Overrun IT Enable */ 02582 #define CEC_IER_BREIEIE_MORT ((uint32_t)0x00000008) /*!< CEC_MORT Rx Bit Rising Error IT Enable */ 02583 #define CEC_IER_SBPEIE_MORT ((uint32_t)0x00000010) /*!< CEC_MORT Rx Short Bit period Error IT Enable */ 02584 #define CEC_IER_LBPEIE_MORT ((uint32_t)0x00000020) /*!< CEC_MORT Rx Long Bit period Error IT Enable */ 02585 #define CEC_IER_RXACKEIE_MORT ((uint32_t)0x00000040) /*!< CEC_MORT Rx Missing Acknowledge IT Enable */ 02586 #define CEC_IER_ARBLSTIE_MORT ((uint32_t)0x00000080) /*!< CEC_MORT Arbitration Lost IT Enable */ 02587 #define CEC_IER_TXBRIE_MORT ((uint32_t)0x00000100) /*!< CEC_MORT Tx Byte Request IT Enable */ 02588 #define CEC_IER_TXENDIE_MORT ((uint32_t)0x00000200) /*!< CEC_MORT End of Transmission IT Enable */ 02589 #define CEC_IER_TXUDRIE_MORT ((uint32_t)0x00000400) /*!< CEC_MORT Tx-Buffer Underrun IT Enable */ 02590 #define CEC_IER_TXERRIE_MORT ((uint32_t)0x00000800) /*!< CEC_MORT Tx-Error IT Enable */ 02591 #define CEC_IER_TXACKEIE_MORT ((uint32_t)0x00001000) /*!< CEC_MORT Tx Missing Acknowledge IT Enable */ 02592 #endif /* STM32F446xx_MORT */ 02593 02594 /******************************************************************************/ 02595 /* */ 02596 /* CRC_MORT calculation unit */ 02597 /* */ 02598 /******************************************************************************/ 02599 /******************* Bit definition for CRC_DR register *********************/ 02600 #define CRC_DR_DR_MORT ((uint32_t)0xFFFFFFFF) /*!< Data register bits */ 02601 02602 02603 /******************* Bit definition for CRC_IDR register ********************/ 02604 #define CRC_IDR_IDR_MORT ((uint8_t)0xFF) /*!< General-purpose 8-bit data register bits */ 02605 02606 02607 /******************** Bit definition for CRC_CR register ********************/ 02608 #define CRC_CR_RESET_MORT ((uint8_t)0x01) /*!< RESET bit */ 02609 02610 /******************************************************************************/ 02611 /* */ 02612 /* Crypto Processor */ 02613 /* */ 02614 /******************************************************************************/ 02615 /******************* Bits definition for CRYP_CR register ********************/ 02616 02617 02618 /****************** Bits definition for CRYP_SR register *********************/ 02619 02620 /****************** Bits definition for CRYP_DMACR register ******************/ 02621 02622 /***************** Bits definition for CRYP_IMSCR register ******************/ 02623 02624 /****************** Bits definition for CRYP_RISR register *******************/ 02625 02626 /****************** Bits definition for CRYP_MISR register *******************/ 02627 02628 /******************************************************************************/ 02629 /* */ 02630 /* Digital to Analog Converter */ 02631 /* */ 02632 /******************************************************************************/ 02633 /******************** Bit definition for DAC_CR register ********************/ 02634 #define DAC_CR_EN1_MORT ((uint32_t)0x00000001) /*!<DAC_MORT channel1 enable */ 02635 #define DAC_CR_BOFF1_MORT ((uint32_t)0x00000002) /*!<DAC_MORT channel1 output buffer disable */ 02636 #define DAC_CR_TEN1_MORT ((uint32_t)0x00000004) /*!<DAC_MORT channel1 Trigger enable */ 02637 02638 #define DAC_CR_TSEL1_MORT ((uint32_t)0x00000038) /*!<TSEL1[2:0] (DAC_MORT channel1 Trigger selection) */ 02639 #define DAC_CR_TSEL1_0_MORT ((uint32_t)0x00000008) /*!<Bit 0 */ 02640 #define DAC_CR_TSEL1_1_MORT ((uint32_t)0x00000010) /*!<Bit 1 */ 02641 #define DAC_CR_TSEL1_2_MORT ((uint32_t)0x00000020) /*!<Bit 2 */ 02642 02643 #define DAC_CR_WAVE1_MORT ((uint32_t)0x000000C0) /*!<WAVE1[1:0] (DAC_MORT channel1 noise/triangle wave generation enable) */ 02644 #define DAC_CR_WAVE1_0_MORT ((uint32_t)0x00000040) /*!<Bit 0 */ 02645 #define DAC_CR_WAVE1_1_MORT ((uint32_t)0x00000080) /*!<Bit 1 */ 02646 02647 #define DAC_CR_MAMP1_MORT ((uint32_t)0x00000F00) /*!<MAMP1[3:0] (DAC_MORT channel1 Mask/Amplitude selector) */ 02648 #define DAC_CR_MAMP1_0_MORT ((uint32_t)0x00000100) /*!<Bit 0 */ 02649 #define DAC_CR_MAMP1_1_MORT ((uint32_t)0x00000200) /*!<Bit 1 */ 02650 #define DAC_CR_MAMP1_2_MORT ((uint32_t)0x00000400) /*!<Bit 2 */ 02651 #define DAC_CR_MAMP1_3_MORT ((uint32_t)0x00000800) /*!<Bit 3 */ 02652 02653 #define DAC_CR_DMAEN1_MORT ((uint32_t)0x00001000) /*!<DAC_MORT channel1 DMA enable */ 02654 #define DAC_CR_DMAUDRIE1_MORT ((uint32_t)0x00002000) /*!<DAC_MORT channel1 DMA underrun interrupt enable*/ 02655 #define DAC_CR_EN2_MORT ((uint32_t)0x00010000) /*!<DAC_MORT channel2 enable */ 02656 #define DAC_CR_BOFF2_MORT ((uint32_t)0x00020000) /*!<DAC_MORT channel2 output buffer disable */ 02657 #define DAC_CR_TEN2_MORT ((uint32_t)0x00040000) /*!<DAC_MORT channel2 Trigger enable */ 02658 02659 #define DAC_CR_TSEL2_MORT ((uint32_t)0x00380000) /*!<TSEL2[2:0] (DAC_MORT channel2 Trigger selection) */ 02660 #define DAC_CR_TSEL2_0_MORT ((uint32_t)0x00080000) /*!<Bit 0 */ 02661 #define DAC_CR_TSEL2_1_MORT ((uint32_t)0x00100000) /*!<Bit 1 */ 02662 #define DAC_CR_TSEL2_2_MORT ((uint32_t)0x00200000) /*!<Bit 2 */ 02663 02664 #define DAC_CR_WAVE2_MORT ((uint32_t)0x00C00000) /*!<WAVE2[1:0] (DAC_MORT channel2 noise/triangle wave generation enable) */ 02665 #define DAC_CR_WAVE2_0_MORT ((uint32_t)0x00400000) /*!<Bit 0 */ 02666 #define DAC_CR_WAVE2_1_MORT ((uint32_t)0x00800000) /*!<Bit 1 */ 02667 02668 #define DAC_CR_MAMP2_MORT ((uint32_t)0x0F000000) /*!<MAMP2[3:0] (DAC_MORT channel2 Mask/Amplitude selector) */ 02669 #define DAC_CR_MAMP2_0_MORT ((uint32_t)0x01000000) /*!<Bit 0 */ 02670 #define DAC_CR_MAMP2_1_MORT ((uint32_t)0x02000000) /*!<Bit 1 */ 02671 #define DAC_CR_MAMP2_2_MORT ((uint32_t)0x04000000) /*!<Bit 2 */ 02672 #define DAC_CR_MAMP2_3_MORT ((uint32_t)0x08000000) /*!<Bit 3 */ 02673 02674 #define DAC_CR_DMAEN2_MORT ((uint32_t)0x10000000) /*!<DAC_MORT channel2 DMA enabled */ 02675 #define DAC_CR_DMAUDRIE2_MORT ((uint32_t)0x20000000U) /*!<DAC_MORT channel2 DMA underrun interrupt enable*/ 02676 02677 /***************** Bit definition for DAC_SWTRIGR register ******************/ 02678 #define DAC_SWTRIGR_SWTRIG1_MORT ((uint8_t)0x01) /*!<DAC_MORT channel1 software trigger */ 02679 #define DAC_SWTRIGR_SWTRIG2_MORT ((uint8_t)0x02) /*!<DAC_MORT channel2 software trigger */ 02680 02681 /***************** Bit definition for DAC_DHR12R1 register ******************/ 02682 #define DAC_DHR12R1_DACC1DHR_MORT ((uint16_t)0x0FFF) /*!<DAC_MORT channel1 12-bit Right aligned data */ 02683 02684 /***************** Bit definition for DAC_DHR12L1 register ******************/ 02685 #define DAC_DHR12L1_DACC1DHR_MORT ((uint16_t)0xFFF0) /*!<DAC_MORT channel1 12-bit Left aligned data */ 02686 02687 /****************** Bit definition for DAC_DHR8R1 register ******************/ 02688 #define DAC_DHR8R1_DACC1DHR_MORT ((uint8_t)0xFF) /*!<DAC_MORT channel1 8-bit Right aligned data */ 02689 02690 /***************** Bit definition for DAC_DHR12R2 register ******************/ 02691 #define DAC_DHR12R2_DACC2DHR_MORT ((uint16_t)0x0FFF) /*!<DAC_MORT channel2 12-bit Right aligned data */ 02692 02693 /***************** Bit definition for DAC_DHR12L2 register ******************/ 02694 #define DAC_DHR12L2_DACC2DHR_MORT ((uint16_t)0xFFF0) /*!<DAC_MORT channel2 12-bit Left aligned data */ 02695 02696 /****************** Bit definition for DAC_DHR8R2 register ******************/ 02697 #define DAC_DHR8R2_DACC2DHR_MORT ((uint8_t)0xFF) /*!<DAC_MORT channel2 8-bit Right aligned data */ 02698 02699 /***************** Bit definition for DAC_DHR12RD register ******************/ 02700 #define DAC_DHR12RD_DACC1DHR_MORT ((uint32_t)0x00000FFF) /*!<DAC_MORT channel1 12-bit Right aligned data */ 02701 #define DAC_DHR12RD_DACC2DHR_MORT ((uint32_t)0x0FFF0000) /*!<DAC_MORT channel2 12-bit Right aligned data */ 02702 02703 /***************** Bit definition for DAC_DHR12LD register ******************/ 02704 #define DAC_DHR12LD_DACC1DHR_MORT ((uint32_t)0x0000FFF0) /*!<DAC_MORT channel1 12-bit Left aligned data */ 02705 #define DAC_DHR12LD_DACC2DHR_MORT ((uint32_t)0xFFF00000) /*!<DAC_MORT channel2 12-bit Left aligned data */ 02706 02707 /****************** Bit definition for DAC_DHR8RD register ******************/ 02708 #define DAC_DHR8RD_DACC1DHR_MORT ((uint16_t)0x00FF) /*!<DAC_MORT channel1 8-bit Right aligned data */ 02709 #define DAC_DHR8RD_DACC2DHR_MORT ((uint16_t)0xFF00) /*!<DAC_MORT channel2 8-bit Right aligned data */ 02710 02711 /******************* Bit definition for DAC_DOR1 register *******************/ 02712 #define DAC_DOR1_DACC1DOR_MORT ((uint16_t)0x0FFF) /*!<DAC_MORT channel1 data output */ 02713 02714 /******************* Bit definition for DAC_DOR2 register *******************/ 02715 #define DAC_DOR2_DACC2DOR_MORT ((uint16_t)0x0FFF) /*!<DAC_MORT channel2 data output */ 02716 02717 /******************** Bit definition for DAC_SR register ********************/ 02718 #define DAC_SR_DMAUDR1_MORT ((uint32_t)0x00002000) /*!<DAC_MORT channel1 DMA underrun flag */ 02719 #define DAC_SR_DMAUDR2_MORT ((uint32_t)0x20000000) /*!<DAC_MORT channel2 DMA underrun flag */ 02720 02721 /******************************************************************************/ 02722 /* */ 02723 /* Debug MCU */ 02724 /* */ 02725 /******************************************************************************/ 02726 02727 /******************************************************************************/ 02728 /* */ 02729 /* DCMI_MORT */ 02730 /* */ 02731 /******************************************************************************/ 02732 /******************** Bits definition for DCMI_CR register ******************/ 02733 02734 02735 /******************** Bits definition for DCMI_SR register ******************/ 02736 02737 02738 /******************** Bits definition for DCMI_RIS register *****************/ 02739 02740 /* Legacy defines */ 02741 02742 02743 /******************** Bits definition for DCMI_IER register *****************/ 02744 02745 02746 /* Legacy defines */ 02747 02748 02749 /******************** Bits definition for DCMI_MIS register ****************/ 02750 02751 02752 /* Legacy defines */ 02753 02754 02755 /******************** Bits definition for DCMI_ICR register *****************/ 02756 02757 02758 /* Legacy defines */ 02759 02760 /******************** Bits definition for DCMI_ESCR register ******************/ 02761 02762 02763 /******************** Bits definition for DCMI_ESUR register ******************/ 02764 02765 02766 /******************** Bits definition for DCMI_CWSTRT register ******************/ 02767 02768 02769 /******************** Bits definition for DCMI_CWSIZE register ******************/ 02770 02771 02772 /******************** Bits definition for DCMI_DR register ******************/ 02773 02774 02775 /******************************************************************************/ 02776 /* */ 02777 /* Digital Filter for Sigma Delta Modulators */ 02778 /* */ 02779 /******************************************************************************/ 02780 02781 /**************** DFSDM channel configuration registers ********************/ 02782 02783 /*************** Bit definition for DFSDM_CHCFGR1 register ******************/ 02784 02785 /*************** Bit definition for DFSDM_CHCFGR2 register ******************/ 02786 02787 /****************** Bit definition for DFSDM_CHAWSCDR register ***************/ 02788 02789 /**************** Bit definition for DFSDM_CHWDATR register *******************/ 02790 02791 /**************** Bit definition for DFSDM_CHDATINR register *****************/ 02792 02793 /************************ DFSDM module registers ****************************/ 02794 02795 /***************** Bit definition for DFSDM_FLTCR1 register *******************/ 02796 02797 /******************** Bit definition for DFSDM_FLTCR2 register ***************/ 02798 02799 /***************** Bit definition for DFSDM_FLTISR register *******************/ 02800 02801 /***************** Bit definition for DFSDM_FLTICR register *******************/ 02802 02803 /**************** Bit definition for DFSDM_FLTJCHGR register ******************/ 02804 02805 /***************** Bit definition for DFSDM_FLTFCR register *******************/ 02806 02807 /*************** Bit definition for DFSDM_FLTJDATAR register *****************/ 02808 02809 /*************** Bit definition for DFSDM_FLTRDATAR register *****************/ 02810 02811 /*************** Bit definition for DFSDM_FLTAWHTR register ******************/ 02812 02813 /*************** Bit definition for DFSDM_FLTAWLTR register ******************/ 02814 02815 /*************** Bit definition for DFSDM_FLTAWSR register *******************/ 02816 02817 /*************** Bit definition for DFSDM_FLTAWCFR register ******************/ 02818 02819 /*************** Bit definition for DFSDM_FLTEXMAX register ******************/ 02820 02821 /*************** Bit definition for DFSDM_FLTEXMIN register ******************/ 02822 02823 /*************** Bit definition for DFSDM_FLTCNVTIMR register ****************/ 02824 02825 /******************************************************************************/ 02826 /* */ 02827 /* DMA Controller */ 02828 /* */ 02829 /******************************************************************************/ 02830 /******************** Bits definition for DMA_SxCR register *****************/ 02831 #define DMA_SxCR_CHSEL_MORT ((uint32_t)0x0E000000) 02832 #define DMA_SxCR_CHSEL_0_MORT ((uint32_t)0x02000000) 02833 #define DMA_SxCR_CHSEL_1_MORT ((uint32_t)0x04000000) 02834 #define DMA_SxCR_CHSEL_2_MORT ((uint32_t)0x08000000) 02835 #define DMA_SxCR_MBURST_MORT ((uint32_t)0x01800000) 02836 #define DMA_SxCR_MBURST_0_MORT ((uint32_t)0x00800000) 02837 #define DMA_SxCR_MBURST_1_MORT ((uint32_t)0x01000000) 02838 #define DMA_SxCR_PBURST_MORT ((uint32_t)0x00600000) 02839 #define DMA_SxCR_PBURST_0_MORT ((uint32_t)0x00200000) 02840 #define DMA_SxCR_PBURST_1_MORT ((uint32_t)0x00400000) 02841 #define DMA_SxCR_ACK_MORT ((uint32_t)0x00100000) 02842 #define DMA_SxCR_CT_MORT ((uint32_t)0x00080000) 02843 #define DMA_SxCR_DBM_MORT ((uint32_t)0x00040000) 02844 #define DMA_SxCR_PL_MORT ((uint32_t)0x00030000) 02845 #define DMA_SxCR_PL_0_MORT ((uint32_t)0x00010000) 02846 #define DMA_SxCR_PL_1_MORT ((uint32_t)0x00020000) 02847 #define DMA_SxCR_PINCOS_MORT ((uint32_t)0x00008000) 02848 #define DMA_SxCR_MSIZE_MORT ((uint32_t)0x00006000) 02849 #define DMA_SxCR_MSIZE_0_MORT ((uint32_t)0x00002000) 02850 #define DMA_SxCR_MSIZE_1_MORT ((uint32_t)0x00004000) 02851 #define DMA_SxCR_PSIZE_MORT ((uint32_t)0x00001800) 02852 #define DMA_SxCR_PSIZE_0_MORT ((uint32_t)0x00000800) 02853 #define DMA_SxCR_PSIZE_1_MORT ((uint32_t)0x00001000) 02854 #define DMA_SxCR_MINC_MORT ((uint32_t)0x00000400) 02855 #define DMA_SxCR_PINC_MORT ((uint32_t)0x00000200) 02856 #define DMA_SxCR_CIRC_MORT ((uint32_t)0x00000100) 02857 #define DMA_SxCR_DIR_MORT ((uint32_t)0x000000C0) 02858 #define DMA_SxCR_DIR_0_MORT ((uint32_t)0x00000040) 02859 #define DMA_SxCR_DIR_1_MORT ((uint32_t)0x00000080) 02860 #define DMA_SxCR_PFCTRL_MORT ((uint32_t)0x00000020) 02861 #define DMA_SxCR_TCIE_MORT ((uint32_t)0x00000010) 02862 #define DMA_SxCR_HTIE_MORT ((uint32_t)0x00000008) 02863 #define DMA_SxCR_TEIE_MORT ((uint32_t)0x00000004) 02864 #define DMA_SxCR_DMEIE_MORT ((uint32_t)0x00000002) 02865 #define DMA_SxCR_EN_MORT ((uint32_t)0x00000001) 02866 02867 /******************** Bits definition for DMA_SxCNDTR register **************/ 02868 #define DMA_SxNDT_MORT ((uint32_t)0x0000FFFF) 02869 #define DMA_SxNDT_0_MORT ((uint32_t)0x00000001) 02870 #define DMA_SxNDT_1_MORT ((uint32_t)0x00000002) 02871 #define DMA_SxNDT_2_MORT ((uint32_t)0x00000004) 02872 #define DMA_SxNDT_3_MORT ((uint32_t)0x00000008) 02873 #define DMA_SxNDT_4_MORT ((uint32_t)0x00000010) 02874 #define DMA_SxNDT_5_MORT ((uint32_t)0x00000020) 02875 #define DMA_SxNDT_6_MORT ((uint32_t)0x00000040) 02876 #define DMA_SxNDT_7_MORT ((uint32_t)0x00000080) 02877 #define DMA_SxNDT_8_MORT ((uint32_t)0x00000100) 02878 #define DMA_SxNDT_9_MORT ((uint32_t)0x00000200) 02879 #define DMA_SxNDT_10_MORT ((uint32_t)0x00000400) 02880 #define DMA_SxNDT_11_MORT ((uint32_t)0x00000800) 02881 #define DMA_SxNDT_12_MORT ((uint32_t)0x00001000) 02882 #define DMA_SxNDT_13_MORT ((uint32_t)0x00002000) 02883 #define DMA_SxNDT_14_MORT ((uint32_t)0x00004000) 02884 #define DMA_SxNDT_15_MORT ((uint32_t)0x00008000) 02885 02886 /******************** Bits definition for DMA_SxFCR register ****************/ 02887 #define DMA_SxFCR_FEIE_MORT ((uint32_t)0x00000080) 02888 #define DMA_SxFCR_FS_MORT ((uint32_t)0x00000038) 02889 #define DMA_SxFCR_FS_0_MORT ((uint32_t)0x00000008) 02890 #define DMA_SxFCR_FS_1_MORT ((uint32_t)0x00000010) 02891 #define DMA_SxFCR_FS_2_MORT ((uint32_t)0x00000020) 02892 #define DMA_SxFCR_DMDIS_MORT ((uint32_t)0x00000004) 02893 #define DMA_SxFCR_FTH_MORT ((uint32_t)0x00000003) 02894 #define DMA_SxFCR_FTH_0_MORT ((uint32_t)0x00000001) 02895 #define DMA_SxFCR_FTH_1_MORT ((uint32_t)0x00000002) 02896 02897 /******************** Bits definition for DMA_LISR register *****************/ 02898 #define DMA_LISR_TCIF3_MORT ((uint32_t)0x08000000) 02899 #define DMA_LISR_HTIF3_MORT ((uint32_t)0x04000000) 02900 #define DMA_LISR_TEIF3_MORT ((uint32_t)0x02000000) 02901 #define DMA_LISR_DMEIF3_MORT ((uint32_t)0x01000000) 02902 #define DMA_LISR_FEIF3_MORT ((uint32_t)0x00400000) 02903 #define DMA_LISR_TCIF2_MORT ((uint32_t)0x00200000) 02904 #define DMA_LISR_HTIF2_MORT ((uint32_t)0x00100000) 02905 #define DMA_LISR_TEIF2_MORT ((uint32_t)0x00080000) 02906 #define DMA_LISR_DMEIF2_MORT ((uint32_t)0x00040000) 02907 #define DMA_LISR_FEIF2_MORT ((uint32_t)0x00010000) 02908 #define DMA_LISR_TCIF1_MORT ((uint32_t)0x00000800) 02909 #define DMA_LISR_HTIF1_MORT ((uint32_t)0x00000400) 02910 #define DMA_LISR_TEIF1_MORT ((uint32_t)0x00000200) 02911 #define DMA_LISR_DMEIF1_MORT ((uint32_t)0x00000100) 02912 #define DMA_LISR_FEIF1_MORT ((uint32_t)0x00000040) 02913 #define DMA_LISR_TCIF0_MORT ((uint32_t)0x00000020) 02914 #define DMA_LISR_HTIF0_MORT ((uint32_t)0x00000010) 02915 #define DMA_LISR_TEIF0_MORT ((uint32_t)0x00000008) 02916 #define DMA_LISR_DMEIF0_MORT ((uint32_t)0x00000004) 02917 #define DMA_LISR_FEIF0_MORT ((uint32_t)0x00000001) 02918 02919 /******************** Bits definition for DMA_HISR register *****************/ 02920 #define DMA_HISR_TCIF7_MORT ((uint32_t)0x08000000) 02921 #define DMA_HISR_HTIF7_MORT ((uint32_t)0x04000000) 02922 #define DMA_HISR_TEIF7_MORT ((uint32_t)0x02000000) 02923 #define DMA_HISR_DMEIF7_MORT ((uint32_t)0x01000000) 02924 #define DMA_HISR_FEIF7_MORT ((uint32_t)0x00400000) 02925 #define DMA_HISR_TCIF6_MORT ((uint32_t)0x00200000) 02926 #define DMA_HISR_HTIF6_MORT ((uint32_t)0x00100000) 02927 #define DMA_HISR_TEIF6_MORT ((uint32_t)0x00080000) 02928 #define DMA_HISR_DMEIF6_MORT ((uint32_t)0x00040000) 02929 #define DMA_HISR_FEIF6_MORT ((uint32_t)0x00010000) 02930 #define DMA_HISR_TCIF5_MORT ((uint32_t)0x00000800) 02931 #define DMA_HISR_HTIF5_MORT ((uint32_t)0x00000400) 02932 #define DMA_HISR_TEIF5_MORT ((uint32_t)0x00000200) 02933 #define DMA_HISR_DMEIF5_MORT ((uint32_t)0x00000100) 02934 #define DMA_HISR_FEIF5_MORT ((uint32_t)0x00000040) 02935 #define DMA_HISR_TCIF4_MORT ((uint32_t)0x00000020) 02936 #define DMA_HISR_HTIF4_MORT ((uint32_t)0x00000010) 02937 #define DMA_HISR_TEIF4_MORT ((uint32_t)0x00000008) 02938 #define DMA_HISR_DMEIF4_MORT ((uint32_t)0x00000004) 02939 #define DMA_HISR_FEIF4_MORT ((uint32_t)0x00000001) 02940 02941 /******************** Bits definition for DMA_LIFCR register ****************/ 02942 #define DMA_LIFCR_CTCIF3_MORT ((uint32_t)0x08000000) 02943 #define DMA_LIFCR_CHTIF3_MORT ((uint32_t)0x04000000) 02944 #define DMA_LIFCR_CTEIF3_MORT ((uint32_t)0x02000000) 02945 #define DMA_LIFCR_CDMEIF3_MORT ((uint32_t)0x01000000) 02946 #define DMA_LIFCR_CFEIF3_MORT ((uint32_t)0x00400000) 02947 #define DMA_LIFCR_CTCIF2_MORT ((uint32_t)0x00200000) 02948 #define DMA_LIFCR_CHTIF2_MORT ((uint32_t)0x00100000) 02949 #define DMA_LIFCR_CTEIF2_MORT ((uint32_t)0x00080000) 02950 #define DMA_LIFCR_CDMEIF2_MORT ((uint32_t)0x00040000) 02951 #define DMA_LIFCR_CFEIF2_MORT ((uint32_t)0x00010000) 02952 #define DMA_LIFCR_CTCIF1_MORT ((uint32_t)0x00000800) 02953 #define DMA_LIFCR_CHTIF1_MORT ((uint32_t)0x00000400) 02954 #define DMA_LIFCR_CTEIF1_MORT ((uint32_t)0x00000200) 02955 #define DMA_LIFCR_CDMEIF1_MORT ((uint32_t)0x00000100) 02956 #define DMA_LIFCR_CFEIF1_MORT ((uint32_t)0x00000040) 02957 #define DMA_LIFCR_CTCIF0_MORT ((uint32_t)0x00000020) 02958 #define DMA_LIFCR_CHTIF0_MORT ((uint32_t)0x00000010) 02959 #define DMA_LIFCR_CTEIF0_MORT ((uint32_t)0x00000008) 02960 #define DMA_LIFCR_CDMEIF0_MORT ((uint32_t)0x00000004) 02961 #define DMA_LIFCR_CFEIF0_MORT ((uint32_t)0x00000001) 02962 02963 /******************** Bits definition for DMA_HIFCR register ****************/ 02964 #define DMA_HIFCR_CTCIF7_MORT ((uint32_t)0x08000000) 02965 #define DMA_HIFCR_CHTIF7_MORT ((uint32_t)0x04000000) 02966 #define DMA_HIFCR_CTEIF7_MORT ((uint32_t)0x02000000) 02967 #define DMA_HIFCR_CDMEIF7_MORT ((uint32_t)0x01000000) 02968 #define DMA_HIFCR_CFEIF7_MORT ((uint32_t)0x00400000) 02969 #define DMA_HIFCR_CTCIF6_MORT ((uint32_t)0x00200000) 02970 #define DMA_HIFCR_CHTIF6_MORT ((uint32_t)0x00100000) 02971 #define DMA_HIFCR_CTEIF6_MORT ((uint32_t)0x00080000) 02972 #define DMA_HIFCR_CDMEIF6_MORT ((uint32_t)0x00040000) 02973 #define DMA_HIFCR_CFEIF6_MORT ((uint32_t)0x00010000) 02974 #define DMA_HIFCR_CTCIF5_MORT ((uint32_t)0x00000800) 02975 #define DMA_HIFCR_CHTIF5_MORT ((uint32_t)0x00000400) 02976 #define DMA_HIFCR_CTEIF5_MORT ((uint32_t)0x00000200) 02977 #define DMA_HIFCR_CDMEIF5_MORT ((uint32_t)0x00000100) 02978 #define DMA_HIFCR_CFEIF5_MORT ((uint32_t)0x00000040) 02979 #define DMA_HIFCR_CTCIF4_MORT ((uint32_t)0x00000020) 02980 #define DMA_HIFCR_CHTIF4_MORT ((uint32_t)0x00000010) 02981 #define DMA_HIFCR_CTEIF4_MORT ((uint32_t)0x00000008) 02982 #define DMA_HIFCR_CDMEIF4_MORT ((uint32_t)0x00000004) 02983 #define DMA_HIFCR_CFEIF4_MORT ((uint32_t)0x00000001) 02984 02985 /******************************************************************************/ 02986 /* */ 02987 /* AHB Master DMA2D_MORT Controller (DMA2D_MORT) */ 02988 /* */ 02989 /******************************************************************************/ 02990 02991 /******************** Bit definition for DMA2D_CR register ******************/ 02992 02993 #define DMA2D_CR_START_MORT ((uint32_t)0x00000001) /*!< Start transfer */ 02994 #define DMA2D_CR_SUSP_MORT ((uint32_t)0x00000002) /*!< Suspend transfer */ 02995 #define DMA2D_CR_ABORT_MORT ((uint32_t)0x00000004) /*!< Abort transfer */ 02996 #define DMA2D_CR_TEIE_MORT ((uint32_t)0x00000100) /*!< Transfer Error Interrupt Enable */ 02997 #define DMA2D_CR_TCIE_MORT ((uint32_t)0x00000200) /*!< Transfer Complete Interrupt Enable */ 02998 #define DMA2D_CR_TWIE_MORT ((uint32_t)0x00000400) /*!< Transfer Watermark Interrupt Enable */ 02999 #define DMA2D_CR_CAEIE_MORT ((uint32_t)0x00000800) /*!< CLUT Access Error Interrupt Enable */ 03000 #define DMA2D_CR_CTCIE_MORT ((uint32_t)0x00001000) /*!< CLUT Transfer Complete Interrupt Enable */ 03001 #define DMA2D_CR_CEIE_MORT ((uint32_t)0x00002000) /*!< Configuration Error Interrupt Enable */ 03002 #define DMA2D_CR_MODE_MORT ((uint32_t)0x00030000) /*!< DMA2D_MORT Mode */ 03003 03004 /******************** Bit definition for DMA2D_ISR register *****************/ 03005 03006 #define DMA2D_ISR_TEIF_MORT ((uint32_t)0x00000001) /*!< Transfer Error Interrupt Flag */ 03007 #define DMA2D_ISR_TCIF_MORT ((uint32_t)0x00000002) /*!< Transfer Complete Interrupt Flag */ 03008 #define DMA2D_ISR_TWIF_MORT ((uint32_t)0x00000004) /*!< Transfer Watermark Interrupt Flag */ 03009 #define DMA2D_ISR_CAEIF_MORT ((uint32_t)0x00000008) /*!< CLUT Access Error Interrupt Flag */ 03010 #define DMA2D_ISR_CTCIF_MORT ((uint32_t)0x00000010) /*!< CLUT Transfer Complete Interrupt Flag */ 03011 #define DMA2D_ISR_CEIF_MORT ((uint32_t)0x00000020) /*!< Configuration Error Interrupt Flag */ 03012 03013 /******************** Bit definition for DMA2D_IFCR register ****************/ 03014 03015 #define DMA2D_IFCR_CTEIF_MORT ((uint32_t)0x00000001) /*!< Clears Transfer Error Interrupt Flag */ 03016 #define DMA2D_IFCR_CTCIF_MORT ((uint32_t)0x00000002) /*!< Clears Transfer Complete Interrupt Flag */ 03017 #define DMA2D_IFCR_CTWIF_MORT ((uint32_t)0x00000004) /*!< Clears Transfer Watermark Interrupt Flag */ 03018 #define DMA2D_IFCR_CAECIF_MORT ((uint32_t)0x00000008) /*!< Clears CLUT Access Error Interrupt Flag */ 03019 #define DMA2D_IFCR_CCTCIF_MORT ((uint32_t)0x00000010) /*!< Clears CLUT Transfer Complete Interrupt Flag */ 03020 #define DMA2D_IFCR_CCEIF_MORT ((uint32_t)0x00000020) /*!< Clears Configuration Error Interrupt Flag */ 03021 03022 /* Legacy defines */ 03023 #define DMA2D_IFSR_CTEIF DMA2D_IFCR_CTEIF_MORT /*!< Clears Transfer Error Interrupt Flag */ 03024 #define DMA2D_IFSR_CTCIF DMA2D_IFCR_CTCIF_MORT /*!< Clears Transfer Complete Interrupt Flag */ 03025 #define DMA2D_IFSR_CTWIF DMA2D_IFCR_CTWIF_MORT /*!< Clears Transfer Watermark Interrupt Flag */ 03026 #define DMA2D_IFSR_CCAEIF DMA2D_IFCR_CAECIF_MORT /*!< Clears CLUT Access Error Interrupt Flag */ 03027 #define DMA2D_IFSR_CCTCIF DMA2D_IFCR_CCTCIF_MORT /*!< Clears CLUT Transfer Complete Interrupt Flag */ 03028 #define DMA2D_IFSR_CCEIF DMA2D_IFCR_CCEIF_MORT /*!< Clears Configuration Error Interrupt Flag */ 03029 03030 /******************** Bit definition for DMA2D_FGMAR register ***************/ 03031 03032 #define DMA2D_FGMAR_MA_MORT ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ 03033 03034 /******************** Bit definition for DMA2D_FGOR register ****************/ 03035 03036 #define DMA2D_FGOR_LO_MORT ((uint32_t)0x00003FFF) /*!< Line Offset */ 03037 03038 /******************** Bit definition for DMA2D_BGMAR register ***************/ 03039 03040 #define DMA2D_BGMAR_MA_MORT ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ 03041 03042 /******************** Bit definition for DMA2D_BGOR register ****************/ 03043 03044 #define DMA2D_BGOR_LO_MORT ((uint32_t)0x00003FFF) /*!< Line Offset */ 03045 03046 /******************** Bit definition for DMA2D_FGPFCCR register *************/ 03047 03048 #define DMA2D_FGPFCCR_CM_MORT ((uint32_t)0x0000000F) /*!< Input color mode CM[3:0] */ 03049 #define DMA2D_FGPFCCR_CM_0_MORT ((uint32_t)0x00000001) /*!< Input color mode CM bit 0 */ 03050 #define DMA2D_FGPFCCR_CM_1_MORT ((uint32_t)0x00000002) /*!< Input color mode CM bit 1 */ 03051 #define DMA2D_FGPFCCR_CM_2_MORT ((uint32_t)0x00000004) /*!< Input color mode CM bit 2 */ 03052 #define DMA2D_FGPFCCR_CM_3_MORT ((uint32_t)0x00000008) /*!< Input color mode CM bit 3 */ 03053 #define DMA2D_FGPFCCR_CCM_MORT ((uint32_t)0x00000010) /*!< CLUT Color mode */ 03054 #define DMA2D_FGPFCCR_START_MORT ((uint32_t)0x00000020) /*!< Start */ 03055 #define DMA2D_FGPFCCR_CS_MORT ((uint32_t)0x0000FF00) /*!< CLUT size */ 03056 #define DMA2D_FGPFCCR_AM_MORT ((uint32_t)0x00030000) /*!< Alpha mode AM[1:0] */ 03057 #define DMA2D_FGPFCCR_AM_0_MORT ((uint32_t)0x00010000) /*!< Alpha mode AM bit 0 */ 03058 #define DMA2D_FGPFCCR_AM_1_MORT ((uint32_t)0x00020000) /*!< Alpha mode AM bit 1 */ 03059 #define DMA2D_FGPFCCR_ALPHA_MORT ((uint32_t)0xFF000000) /*!< Alpha value */ 03060 03061 /******************** Bit definition for DMA2D_FGCOLR register **************/ 03062 03063 #define DMA2D_FGCOLR_BLUE_MORT ((uint32_t)0x000000FF) /*!< Blue Value */ 03064 #define DMA2D_FGCOLR_GREEN_MORT ((uint32_t)0x0000FF00) /*!< Green Value */ 03065 #define DMA2D_FGCOLR_RED_MORT ((uint32_t)0x00FF0000) /*!< Red Value */ 03066 03067 /******************** Bit definition for DMA2D_BGPFCCR register *************/ 03068 03069 #define DMA2D_BGPFCCR_CM_MORT ((uint32_t)0x0000000F) /*!< Input color mode CM[3:0] */ 03070 #define DMA2D_BGPFCCR_CM_0_MORT ((uint32_t)0x00000001) /*!< Input color mode CM bit 0 */ 03071 #define DMA2D_BGPFCCR_CM_1_MORT ((uint32_t)0x00000002) /*!< Input color mode CM bit 1 */ 03072 #define DMA2D_BGPFCCR_CM_2_MORT ((uint32_t)0x00000004) /*!< Input color mode CM bit 2 */ 03073 #define DMA2D_FGPFCCR_CM_3_MORT ((uint32_t)0x00000008) /*!< Input color mode CM bit 3 */ 03074 #define DMA2D_BGPFCCR_CCM_MORT ((uint32_t)0x00000010) /*!< CLUT Color mode */ 03075 #define DMA2D_BGPFCCR_START_MORT ((uint32_t)0x00000020) /*!< Start */ 03076 #define DMA2D_BGPFCCR_CS_MORT ((uint32_t)0x0000FF00) /*!< CLUT size */ 03077 #define DMA2D_BGPFCCR_AM_MORT ((uint32_t)0x00030000) /*!< Alpha mode AM[1:0] */ 03078 #define DMA2D_BGPFCCR_AM_0_MORT ((uint32_t)0x00010000) /*!< Alpha mode AM bit 0 */ 03079 #define DMA2D_BGPFCCR_AM_1_MORT ((uint32_t)0x00020000) /*!< Alpha mode AM bit 1 */ 03080 #define DMA2D_BGPFCCR_ALPHA_MORT ((uint32_t)0xFF000000) /*!< Alpha value */ 03081 03082 /******************** Bit definition for DMA2D_BGCOLR register **************/ 03083 03084 #define DMA2D_BGCOLR_BLUE_MORT ((uint32_t)0x000000FF) /*!< Blue Value */ 03085 #define DMA2D_BGCOLR_GREEN_MORT ((uint32_t)0x0000FF00) /*!< Green Value */ 03086 #define DMA2D_BGCOLR_RED_MORT ((uint32_t)0x00FF0000) /*!< Red Value */ 03087 03088 /******************** Bit definition for DMA2D_FGCMAR register **************/ 03089 03090 #define DMA2D_FGCMAR_MA_MORT ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ 03091 03092 /******************** Bit definition for DMA2D_BGCMAR register **************/ 03093 03094 #define DMA2D_BGCMAR_MA_MORT ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ 03095 03096 /******************** Bit definition for DMA2D_OPFCCR register **************/ 03097 03098 #define DMA2D_OPFCCR_CM_MORT ((uint32_t)0x00000007) /*!< Color mode CM[2:0] */ 03099 #define DMA2D_OPFCCR_CM_0_MORT ((uint32_t)0x00000001) /*!< Color mode CM bit 0 */ 03100 #define DMA2D_OPFCCR_CM_1_MORT ((uint32_t)0x00000002) /*!< Color mode CM bit 1 */ 03101 #define DMA2D_OPFCCR_CM_2_MORT ((uint32_t)0x00000004) /*!< Color mode CM bit 2 */ 03102 03103 /******************** Bit definition for DMA2D_OCOLR register ***************/ 03104 03105 /*!<Mode_ARGB8888/RGB888 */ 03106 03107 #define DMA2D_OCOLR_BLUE_1_MORT ((uint32_t)0x000000FF) /*!< BLUE Value */ 03108 #define DMA2D_OCOLR_GREEN_1_MORT ((uint32_t)0x0000FF00) /*!< GREEN Value */ 03109 #define DMA2D_OCOLR_RED_1_MORT ((uint32_t)0x00FF0000) /*!< Red Value */ 03110 #define DMA2D_OCOLR_ALPHA_1 ((uint32_t)0xFF000000) /*!< Alpha Channel Value */ 03111 03112 /*!<Mode_RGB565 */ 03113 #define DMA2D_OCOLR_BLUE_2_MORT ((uint32_t)0x0000001F) /*!< BLUE Value */ 03114 #define DMA2D_OCOLR_GREEN_2_MORT ((uint32_t)0x000007E0) /*!< GREEN Value */ 03115 #define DMA2D_OCOLR_RED_2_MORT ((uint32_t)0x0000F800) /*!< Red Value */ 03116 03117 /*!<Mode_ARGB1555 */ 03118 #define DMA2D_OCOLR_BLUE_3_MORT ((uint32_t)0x0000001F) /*!< BLUE Value */ 03119 #define DMA2D_OCOLR_GREEN_3_MORT ((uint32_t)0x000003E0) /*!< GREEN Value */ 03120 #define DMA2D_OCOLR_RED_3_MORT ((uint32_t)0x00007C00) /*!< Red Value */ 03121 #define DMA2D_OCOLR_ALPHA_3_MORT ((uint32_t)0x00008000) /*!< Alpha Channel Value */ 03122 03123 /*!<Mode_ARGB4444 */ 03124 #define DMA2D_OCOLR_BLUE_4_MORT ((uint32_t)0x0000000F) /*!< BLUE Value */ 03125 #define DMA2D_OCOLR_GREEN_4_MORT ((uint32_t)0x000000F0) /*!< GREEN Value */ 03126 #define DMA2D_OCOLR_RED_4_MORT ((uint32_t)0x00000F00) /*!< Red Value */ 03127 #define DMA2D_OCOLR_ALPHA_4_MORT ((uint32_t)0x0000F000) /*!< Alpha Channel Value */ 03128 03129 /******************** Bit definition for DMA2D_OMAR register ****************/ 03130 03131 #define DMA2D_OMAR_MA_MORT ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ 03132 03133 /******************** Bit definition for DMA2D_OOR register *****************/ 03134 03135 #define DMA2D_OOR_LO_MORT ((uint32_t)0x00003FFF) /*!< Line Offset */ 03136 03137 /******************** Bit definition for DMA2D_NLR register *****************/ 03138 03139 #define DMA2D_NLR_NL_MORT ((uint32_t)0x0000FFFF) /*!< Number of Lines */ 03140 #define DMA2D_NLR_PL_MORT ((uint32_t)0x3FFF0000) /*!< Pixel per Lines */ 03141 03142 /******************** Bit definition for DMA2D_LWR register *****************/ 03143 03144 #define DMA2D_LWR_LW_MORT ((uint32_t)0x0000FFFF) /*!< Line Watermark */ 03145 03146 /******************** Bit definition for DMA2D_AMTCR register ***************/ 03147 03148 #define DMA2D_AMTCR_EN_MORT ((uint32_t)0x00000001) /*!< Enable */ 03149 #define DMA2D_AMTCR_DT_MORT ((uint32_t)0x0000FF00) /*!< Dead Time */ 03150 03151 03152 03153 /******************** Bit definition for DMA2D_FGCLUT register **************/ 03154 03155 /******************** Bit definition for DMA2D_BGCLUT register **************/ 03156 03157 03158 /******************************************************************************/ 03159 /* */ 03160 /* External Interrupt/Event Controller */ 03161 /* */ 03162 /******************************************************************************/ 03163 /******************* Bit definition for EXTI_IMR register *******************/ 03164 #define EXTI_IMR_MR0_MORT ((uint32_t)0x00000001) /*!< Interrupt Mask on line 0 */ 03165 #define EXTI_IMR_MR1_MORT ((uint32_t)0x00000002) /*!< Interrupt Mask on line 1 */ 03166 #define EXTI_IMR_MR2_MORT ((uint32_t)0x00000004) /*!< Interrupt Mask on line 2 */ 03167 #define EXTI_IMR_MR3_MORT ((uint32_t)0x00000008) /*!< Interrupt Mask on line 3 */ 03168 #define EXTI_IMR_MR4_MORT ((uint32_t)0x00000010) /*!< Interrupt Mask on line 4 */ 03169 #define EXTI_IMR_MR5_MORT ((uint32_t)0x00000020) /*!< Interrupt Mask on line 5 */ 03170 #define EXTI_IMR_MR6_MORT ((uint32_t)0x00000040) /*!< Interrupt Mask on line 6 */ 03171 #define EXTI_IMR_MR7_MORT ((uint32_t)0x00000080) /*!< Interrupt Mask on line 7 */ 03172 #define EXTI_IMR_MR8_MORT ((uint32_t)0x00000100) /*!< Interrupt Mask on line 8 */ 03173 #define EXTI_IMR_MR9_MORT ((uint32_t)0x00000200) /*!< Interrupt Mask on line 9 */ 03174 #define EXTI_IMR_MR10_MORT ((uint32_t)0x00000400) /*!< Interrupt Mask on line 10 */ 03175 #define EXTI_IMR_MR11_MORT ((uint32_t)0x00000800) /*!< Interrupt Mask on line 11 */ 03176 #define EXTI_IMR_MR12_MORT ((uint32_t)0x00001000) /*!< Interrupt Mask on line 12 */ 03177 #define EXTI_IMR_MR13_MORT ((uint32_t)0x00002000) /*!< Interrupt Mask on line 13 */ 03178 #define EXTI_IMR_MR14_MORT ((uint32_t)0x00004000) /*!< Interrupt Mask on line 14 */ 03179 #define EXTI_IMR_MR15_MORT ((uint32_t)0x00008000) /*!< Interrupt Mask on line 15 */ 03180 #define EXTI_IMR_MR16_MORT ((uint32_t)0x00010000) /*!< Interrupt Mask on line 16 */ 03181 #define EXTI_IMR_MR17_MORT ((uint32_t)0x00020000) /*!< Interrupt Mask on line 17 */ 03182 #define EXTI_IMR_MR18_MORT ((uint32_t)0x00040000) /*!< Interrupt Mask on line 18 */ 03183 #define EXTI_IMR_MR19_MORT ((uint32_t)0x00080000) /*!< Interrupt Mask on line 19 */ 03184 #define EXTI_IMR_MR23_MORT ((uint32_t)0x00800000) /*!< Interrupt Mask on line 23 */ 03185 03186 /******************* Bit definition for EXTI_EMR register *******************/ 03187 #define EXTI_EMR_MR0_MORT ((uint32_t)0x00000001) /*!< Event Mask on line 0 */ 03188 #define EXTI_EMR_MR1_MORT ((uint32_t)0x00000002) /*!< Event Mask on line 1 */ 03189 #define EXTI_EMR_MR2_MORT ((uint32_t)0x00000004) /*!< Event Mask on line 2 */ 03190 #define EXTI_EMR_MR3_MORT ((uint32_t)0x00000008) /*!< Event Mask on line 3 */ 03191 #define EXTI_EMR_MR4_MORT ((uint32_t)0x00000010) /*!< Event Mask on line 4 */ 03192 #define EXTI_EMR_MR5_MORT ((uint32_t)0x00000020) /*!< Event Mask on line 5 */ 03193 #define EXTI_EMR_MR6_MORT ((uint32_t)0x00000040) /*!< Event Mask on line 6 */ 03194 #define EXTI_EMR_MR7_MORT ((uint32_t)0x00000080) /*!< Event Mask on line 7 */ 03195 #define EXTI_EMR_MR8_MORT ((uint32_t)0x00000100) /*!< Event Mask on line 8 */ 03196 #define EXTI_EMR_MR9_MORT ((uint32_t)0x00000200) /*!< Event Mask on line 9 */ 03197 #define EXTI_EMR_MR10_MORT ((uint32_t)0x00000400) /*!< Event Mask on line 10 */ 03198 #define EXTI_EMR_MR11_MORT ((uint32_t)0x00000800) /*!< Event Mask on line 11 */ 03199 #define EXTI_EMR_MR12_MORT ((uint32_t)0x00001000) /*!< Event Mask on line 12 */ 03200 #define EXTI_EMR_MR13_MORT ((uint32_t)0x00002000) /*!< Event Mask on line 13 */ 03201 #define EXTI_EMR_MR14_MORT ((uint32_t)0x00004000) /*!< Event Mask on line 14 */ 03202 #define EXTI_EMR_MR15_MORT ((uint32_t)0x00008000) /*!< Event Mask on line 15 */ 03203 #define EXTI_EMR_MR16_MORT ((uint32_t)0x00010000) /*!< Event Mask on line 16 */ 03204 #define EXTI_EMR_MR17_MORT ((uint32_t)0x00020000) /*!< Event Mask on line 17 */ 03205 #define EXTI_EMR_MR18_MORT ((uint32_t)0x00040000) /*!< Event Mask on line 18 */ 03206 #define EXTI_EMR_MR19_MORT ((uint32_t)0x00080000) /*!< Event Mask on line 19 */ 03207 #define EXTI_EMR_MR23_MORT ((uint32_t)0x00800000) /*!< Event Mask on line 19 */ 03208 03209 /****************** Bit definition for EXTI_RTSR register *******************/ 03210 #define EXTI_RTSR_TR0_MORT ((uint32_t)0x00000001) /*!< Rising trigger event configuration bit of line 0 */ 03211 #define EXTI_RTSR_TR1_MORT ((uint32_t)0x00000002) /*!< Rising trigger event configuration bit of line 1 */ 03212 #define EXTI_RTSR_TR2_MORT ((uint32_t)0x00000004) /*!< Rising trigger event configuration bit of line 2 */ 03213 #define EXTI_RTSR_TR3_MORT ((uint32_t)0x00000008) /*!< Rising trigger event configuration bit of line 3 */ 03214 #define EXTI_RTSR_TR4_MORT ((uint32_t)0x00000010) /*!< Rising trigger event configuration bit of line 4 */ 03215 #define EXTI_RTSR_TR5_MORT ((uint32_t)0x00000020) /*!< Rising trigger event configuration bit of line 5 */ 03216 #define EXTI_RTSR_TR6_MORT ((uint32_t)0x00000040) /*!< Rising trigger event configuration bit of line 6 */ 03217 #define EXTI_RTSR_TR7_MORT ((uint32_t)0x00000080) /*!< Rising trigger event configuration bit of line 7 */ 03218 #define EXTI_RTSR_TR8_MORT ((uint32_t)0x00000100) /*!< Rising trigger event configuration bit of line 8 */ 03219 #define EXTI_RTSR_TR9_MORT ((uint32_t)0x00000200) /*!< Rising trigger event configuration bit of line 9 */ 03220 #define EXTI_RTSR_TR10_MORT ((uint32_t)0x00000400) /*!< Rising trigger event configuration bit of line 10 */ 03221 #define EXTI_RTSR_TR11_MORT ((uint32_t)0x00000800) /*!< Rising trigger event configuration bit of line 11 */ 03222 #define EXTI_RTSR_TR12_MORT ((uint32_t)0x00001000) /*!< Rising trigger event configuration bit of line 12 */ 03223 #define EXTI_RTSR_TR13_MORT ((uint32_t)0x00002000) /*!< Rising trigger event configuration bit of line 13 */ 03224 #define EXTI_RTSR_TR14_MORT ((uint32_t)0x00004000) /*!< Rising trigger event configuration bit of line 14 */ 03225 #define EXTI_RTSR_TR15_MORT ((uint32_t)0x00008000) /*!< Rising trigger event configuration bit of line 15 */ 03226 #define EXTI_RTSR_TR16_MORT ((uint32_t)0x00010000) /*!< Rising trigger event configuration bit of line 16 */ 03227 #define EXTI_RTSR_TR17_MORT ((uint32_t)0x00020000) /*!< Rising trigger event configuration bit of line 17 */ 03228 #define EXTI_RTSR_TR18_MORT ((uint32_t)0x00040000) /*!< Rising trigger event configuration bit of line 18 */ 03229 #define EXTI_RTSR_TR19_MORT ((uint32_t)0x00080000) /*!< Rising trigger event configuration bit of line 19 */ 03230 #define EXTI_RTSR_TR23_MORT ((uint32_t)0x00800000) /*!< Rising trigger event configuration bit of line 23 */ 03231 03232 /****************** Bit definition for EXTI_FTSR register *******************/ 03233 #define EXTI_FTSR_TR0_MORT ((uint32_t)0x00000001) /*!< Falling trigger event configuration bit of line 0 */ 03234 #define EXTI_FTSR_TR1_MORT ((uint32_t)0x00000002) /*!< Falling trigger event configuration bit of line 1 */ 03235 #define EXTI_FTSR_TR2_MORT ((uint32_t)0x00000004) /*!< Falling trigger event configuration bit of line 2 */ 03236 #define EXTI_FTSR_TR3_MORT ((uint32_t)0x00000008) /*!< Falling trigger event configuration bit of line 3 */ 03237 #define EXTI_FTSR_TR4_MORT ((uint32_t)0x00000010) /*!< Falling trigger event configuration bit of line 4 */ 03238 #define EXTI_FTSR_TR5_MORT ((uint32_t)0x00000020) /*!< Falling trigger event configuration bit of line 5 */ 03239 #define EXTI_FTSR_TR6_MORT ((uint32_t)0x00000040) /*!< Falling trigger event configuration bit of line 6 */ 03240 #define EXTI_FTSR_TR7_MORT ((uint32_t)0x00000080) /*!< Falling trigger event configuration bit of line 7 */ 03241 #define EXTI_FTSR_TR8_MORT ((uint32_t)0x00000100) /*!< Falling trigger event configuration bit of line 8 */ 03242 #define EXTI_FTSR_TR9_MORT ((uint32_t)0x00000200) /*!< Falling trigger event configuration bit of line 9 */ 03243 #define EXTI_FTSR_TR10_MORT ((uint32_t)0x00000400) /*!< Falling trigger event configuration bit of line 10 */ 03244 #define EXTI_FTSR_TR11_MORT ((uint32_t)0x00000800) /*!< Falling trigger event configuration bit of line 11 */ 03245 #define EXTI_FTSR_TR12_MORT ((uint32_t)0x00001000) /*!< Falling trigger event configuration bit of line 12 */ 03246 #define EXTI_FTSR_TR13_MORT ((uint32_t)0x00002000) /*!< Falling trigger event configuration bit of line 13 */ 03247 #define EXTI_FTSR_TR14_MORT ((uint32_t)0x00004000) /*!< Falling trigger event configuration bit of line 14 */ 03248 #define EXTI_FTSR_TR15_MORT ((uint32_t)0x00008000) /*!< Falling trigger event configuration bit of line 15 */ 03249 #define EXTI_FTSR_TR16_MORT ((uint32_t)0x00010000) /*!< Falling trigger event configuration bit of line 16 */ 03250 #define EXTI_FTSR_TR17_MORT ((uint32_t)0x00020000) /*!< Falling trigger event configuration bit of line 17 */ 03251 #define EXTI_FTSR_TR18_MORT ((uint32_t)0x00040000) /*!< Falling trigger event configuration bit of line 18 */ 03252 #define EXTI_FTSR_TR19_MORT ((uint32_t)0x00080000) /*!< Falling trigger event configuration bit of line 19 */ 03253 #define EXTI_FTSR_TR23_MORT ((uint32_t)0x00800000) /*!< Falling trigger event configuration bit of line 23 */ 03254 03255 /****************** Bit definition for EXTI_SWIER register ******************/ 03256 #define EXTI_SWIER_SWIER0_MORT ((uint32_t)0x00000001) /*!< Software Interrupt on line 0 */ 03257 #define EXTI_SWIER_SWIER1_MORT ((uint32_t)0x00000002) /*!< Software Interrupt on line 1 */ 03258 #define EXTI_SWIER_SWIER2_MORT ((uint32_t)0x00000004) /*!< Software Interrupt on line 2 */ 03259 #define EXTI_SWIER_SWIER3_MORT ((uint32_t)0x00000008) /*!< Software Interrupt on line 3 */ 03260 #define EXTI_SWIER_SWIER4_MORT ((uint32_t)0x00000010) /*!< Software Interrupt on line 4 */ 03261 #define EXTI_SWIER_SWIER5_MORT ((uint32_t)0x00000020) /*!< Software Interrupt on line 5 */ 03262 #define EXTI_SWIER_SWIER6_MORT ((uint32_t)0x00000040) /*!< Software Interrupt on line 6 */ 03263 #define EXTI_SWIER_SWIER7_MORT ((uint32_t)0x00000080) /*!< Software Interrupt on line 7 */ 03264 #define EXTI_SWIER_SWIER8_MORT ((uint32_t)0x00000100) /*!< Software Interrupt on line 8 */ 03265 #define EXTI_SWIER_SWIER9_MORT ((uint32_t)0x00000200) /*!< Software Interrupt on line 9 */ 03266 #define EXTI_SWIER_SWIER10_MORT ((uint32_t)0x00000400) /*!< Software Interrupt on line 10 */ 03267 #define EXTI_SWIER_SWIER11_MORT ((uint32_t)0x00000800) /*!< Software Interrupt on line 11 */ 03268 #define EXTI_SWIER_SWIER12_MORT ((uint32_t)0x00001000) /*!< Software Interrupt on line 12 */ 03269 #define EXTI_SWIER_SWIER13_MORT ((uint32_t)0x00002000) /*!< Software Interrupt on line 13 */ 03270 #define EXTI_SWIER_SWIER14_MORT ((uint32_t)0x00004000) /*!< Software Interrupt on line 14 */ 03271 #define EXTI_SWIER_SWIER15_MORT ((uint32_t)0x00008000) /*!< Software Interrupt on line 15 */ 03272 #define EXTI_SWIER_SWIER16_MORT ((uint32_t)0x00010000) /*!< Software Interrupt on line 16 */ 03273 #define EXTI_SWIER_SWIER17_MORT ((uint32_t)0x00020000) /*!< Software Interrupt on line 17 */ 03274 #define EXTI_SWIER_SWIER18_MORT ((uint32_t)0x00040000) /*!< Software Interrupt on line 18 */ 03275 #define EXTI_SWIER_SWIER19_MORT ((uint32_t)0x00080000) /*!< Software Interrupt on line 19 */ 03276 #define EXTI_SWIER_SWIER23_MORT ((uint32_t)0x00800000) /*!< Software Interrupt on line 23 */ 03277 03278 /******************* Bit definition for EXTI_PR register ********************/ 03279 #define EXTI_PR_PR0_MORT ((uint32_t)0x00000001) /*!< Pending bit for line 0 */ 03280 #define EXTI_PR_PR1_MORT ((uint32_t)0x00000002) /*!< Pending bit for line 1 */ 03281 #define EXTI_PR_PR2_MORT ((uint32_t)0x00000004) /*!< Pending bit for line 2 */ 03282 #define EXTI_PR_PR3_MORT ((uint32_t)0x00000008) /*!< Pending bit for line 3 */ 03283 #define EXTI_PR_PR4_MORT ((uint32_t)0x00000010) /*!< Pending bit for line 4 */ 03284 #define EXTI_PR_PR5_MORT ((uint32_t)0x00000020) /*!< Pending bit for line 5 */ 03285 #define EXTI_PR_PR6_MORT ((uint32_t)0x00000040) /*!< Pending bit for line 6 */ 03286 #define EXTI_PR_PR7_MORT ((uint32_t)0x00000080) /*!< Pending bit for line 7 */ 03287 #define EXTI_PR_PR8_MORT ((uint32_t)0x00000100) /*!< Pending bit for line 8 */ 03288 #define EXTI_PR_PR9_MORT ((uint32_t)0x00000200) /*!< Pending bit for line 9 */ 03289 #define EXTI_PR_PR10_MORT ((uint32_t)0x00000400) /*!< Pending bit for line 10 */ 03290 #define EXTI_PR_PR11_MORT ((uint32_t)0x00000800) /*!< Pending bit for line 11 */ 03291 #define EXTI_PR_PR12_MORT ((uint32_t)0x00001000) /*!< Pending bit for line 12 */ 03292 #define EXTI_PR_PR13_MORT ((uint32_t)0x00002000) /*!< Pending bit for line 13 */ 03293 #define EXTI_PR_PR14_MORT ((uint32_t)0x00004000) /*!< Pending bit for line 14 */ 03294 #define EXTI_PR_PR15_MORT ((uint32_t)0x00008000) /*!< Pending bit for line 15 */ 03295 #define EXTI_PR_PR16_MORT ((uint32_t)0x00010000) /*!< Pending bit for line 16 */ 03296 #define EXTI_PR_PR17_MORT ((uint32_t)0x00020000) /*!< Pending bit for line 17 */ 03297 #define EXTI_PR_PR18_MORT ((uint32_t)0x00040000) /*!< Pending bit for line 18 */ 03298 #define EXTI_PR_PR19_MORT ((uint32_t)0x00080000) /*!< Pending bit for line 19 */ 03299 #define EXTI_PR_PR23_MORT ((uint32_t)0x00800000) /*!< Pending bit for line 23 */ 03300 03301 /******************************************************************************/ 03302 /* */ 03303 /* FLASH_MORT */ 03304 /* */ 03305 /******************************************************************************/ 03306 /******************* Bits definition for FLASH_ACR register *****************/ 03307 03308 /******************* Bits definition for FLASH_SR register ******************/ 03309 03310 /******************* Bits definition for FLASH_CR register ******************/ 03311 03312 /******************* Bits definition for FLASH_OPTCR register ***************/ 03313 03314 /****************** Bits definition for FLASH_OPTCR1 register ***************/ 03315 03316 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 03317 /******************************************************************************/ 03318 /* */ 03319 /* Flexible Static Memory Controller */ 03320 /* */ 03321 /******************************************************************************/ 03322 /****************** Bit definition for FSMC_BCR1 register *******************/ 03323 03324 03325 /****************** Bit definition for FSMC_BCR2 register *******************/ 03326 03327 03328 /****************** Bit definition for FSMC_BCR3 register *******************/ 03329 03330 03331 /****************** Bit definition for FSMC_BCR4 register *******************/ 03332 03333 03334 /****************** Bit definition for FSMC_BTR1 register ******************/ 03335 03336 03337 /****************** Bit definition for FSMC_BTR2 register *******************/ 03338 03339 03340 /******************* Bit definition for FSMC_BTR3 register *******************/ 03341 03342 03343 03344 /****************** Bit definition for FSMC_BTR4 register *******************/ 03345 03346 03347 /****************** Bit definition for FSMC_BWTR1 register ******************/ 03348 03349 03350 /****************** Bit definition for FSMC_BWTR2 register ******************/ 03351 03352 03353 /****************** Bit definition for FSMC_BWTR3 register ******************/ 03354 03355 03356 /****************** Bit definition for FSMC_BWTR4 register ******************/ 03357 03358 03359 /****************** Bit definition for FSMC_PCR2 register *******************/ 03360 03361 03362 /****************** Bit definition for FSMC_PCR3 register *******************/ 03363 03364 03365 /****************** Bit definition for FSMC_PCR4 register *******************/ 03366 03367 03368 /******************* Bit definition for FSMC_SR2 register *******************/ 03369 03370 03371 /******************* Bit definition for FSMC_SR3 register *******************/ 03372 03373 03374 /******************* Bit definition for FSMC_SR4 register *******************/ 03375 03376 /****************** Bit definition for FSMC_PMEM2 register ******************/ 03377 03378 03379 /****************** Bit definition for FSMC_PMEM3 register ******************/ 03380 03381 03382 /****************** Bit definition for FSMC_PMEM4 register ******************/ 03383 03384 03385 /****************** Bit definition for FSMC_PATT2 register ******************/ 03386 03387 03388 /****************** Bit definition for FSMC_PATT3 register ******************/ 03389 03390 03391 /****************** Bit definition for FSMC_PATT4 register ******************/ 03392 03393 /****************** Bit definition for FSMC_PIO4 register *******************/ 03394 03395 03396 /****************** Bit definition for FSMC_ECCR2 register ******************/ 03397 03398 03399 /****************** Bit definition for FSMC_ECCR3 register ******************/ 03400 03401 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 03402 03403 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 03404 /******************************************************************************/ 03405 /* */ 03406 /* Flexible Memory Controller */ 03407 /* */ 03408 /******************************************************************************/ 03409 /****************** Bit definition for FMC_BCR1 register *******************/ 03410 03411 /****************** Bit definition for FMC_BCR2 register *******************/ 03412 03413 /****************** Bit definition for FMC_BCR3 register *******************/ 03414 03415 /****************** Bit definition for FMC_BCR4 register *******************/ 03416 03417 /****************** Bit definition for FMC_BTR1 register ******************/ 03418 03419 03420 /****************** Bit definition for FMC_BTR2 register *******************/ 03421 03422 03423 /******************* Bit definition for FMC_BTR3 register *******************/ 03424 03425 /****************** Bit definition for FMC_BTR4 register *******************/ 03426 03427 03428 /****************** Bit definition for FMC_BWTR1 register ******************/ 03429 03430 /****************** Bit definition for FMC_BWTR2 register ******************/ 03431 03432 /****************** Bit definition for FMC_BWTR3 register ******************/ 03433 03434 /****************** Bit definition for FMC_BWTR4 register ******************/ 03435 03436 /****************** Bit definition for FMC_PCR2 register *******************/ 03437 03438 /****************** Bit definition for FMC_PCR3 register *******************/ 03439 03440 /****************** Bit definition for FMC_PCR4 register *******************/ 03441 03442 /******************* Bit definition for FMC_SR2 register *******************/ 03443 03444 /******************* Bit definition for FMC_SR3 register *******************/ 03445 03446 /******************* Bit definition for FMC_SR4 register *******************/ 03447 03448 /****************** Bit definition for FMC_PMEM2 register ******************/ 03449 03450 03451 /****************** Bit definition for FMC_PMEM3 register ******************/ 03452 03453 /****************** Bit definition for FMC_PMEM4 register ******************/ 03454 03455 /****************** Bit definition for FMC_PATT2 register ******************/ 03456 03457 /****************** Bit definition for FMC_PATT3 register ******************/ 03458 03459 /****************** Bit definition for FMC_PATT4 register ******************/ 03460 03461 /****************** Bit definition for FMC_PIO4 register *******************/ 03462 03463 /****************** Bit definition for FMC_ECCR2 register ******************/ 03464 03465 /****************** Bit definition for FMC_ECCR3 register ******************/ 03466 03467 /****************** Bit definition for FMC_SDCR1 register ******************/ 03468 03469 /****************** Bit definition for FMC_SDCR2 register ******************/ 03470 03471 /****************** Bit definition for FMC_SDTR1 register ******************/ 03472 03473 /****************** Bit definition for FMC_SDTR2 register ******************/ 03474 03475 /****************** Bit definition for FMC_SDCMR register ******************/ 03476 03477 /****************** Bit definition for FMC_SDRTR register ******************/ 03478 03479 /****************** Bit definition for FMC_SDSR register ******************/ 03480 03481 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 03482 03483 /******************************************************************************/ 03484 /* */ 03485 /* General Purpose I/O */ 03486 /* */ 03487 /******************************************************************************/ 03488 /****************** Bits definition for GPIO_MODER register *****************/ 03489 #define GPIO_MODER_MODER0_MORT ((uint32_t)0x00000003) 03490 #define GPIO_MODER_MODER0_0_MORT ((uint32_t)0x00000001) 03491 #define GPIO_MODER_MODER0_1_MORT ((uint32_t)0x00000002) 03492 03493 #define GPIO_MODER_MODER1_MORT ((uint32_t)0x0000000C) 03494 #define GPIO_MODER_MODER1_0_MORT ((uint32_t)0x00000004) 03495 #define GPIO_MODER_MODER1_1_MORT ((uint32_t)0x00000008) 03496 03497 #define GPIO_MODER_MODER2_MORT ((uint32_t)0x00000030) 03498 #define GPIO_MODER_MODER2_0_MORT ((uint32_t)0x00000010) 03499 #define GPIO_MODER_MODER2_1_MORT ((uint32_t)0x00000020) 03500 03501 #define GPIO_MODER_MODER3_MORT ((uint32_t)0x000000C0) 03502 #define GPIO_MODER_MODER3_0_MORT ((uint32_t)0x00000040) 03503 #define GPIO_MODER_MODER3_1_MORT ((uint32_t)0x00000080) 03504 03505 #define GPIO_MODER_MODER4_MORT ((uint32_t)0x00000300) 03506 #define GPIO_MODER_MODER4_0_MORT ((uint32_t)0x00000100) 03507 #define GPIO_MODER_MODER4_1_MORT ((uint32_t)0x00000200) 03508 03509 #define GPIO_MODER_MODER5_MORT ((uint32_t)0x00000C00) 03510 #define GPIO_MODER_MODER5_0_MORT ((uint32_t)0x00000400) 03511 #define GPIO_MODER_MODER5_1_MORT ((uint32_t)0x00000800) 03512 03513 #define GPIO_MODER_MODER6_MORT ((uint32_t)0x00003000) 03514 #define GPIO_MODER_MODER6_0_MORT ((uint32_t)0x00001000) 03515 #define GPIO_MODER_MODER6_1_MORT ((uint32_t)0x00002000) 03516 03517 #define GPIO_MODER_MODER7_MORT ((uint32_t)0x0000C000) 03518 #define GPIO_MODER_MODER7_0_MORT ((uint32_t)0x00004000) 03519 #define GPIO_MODER_MODER7_1_MORT ((uint32_t)0x00008000) 03520 03521 #define GPIO_MODER_MODER8_MORT ((uint32_t)0x00030000) 03522 #define GPIO_MODER_MODER8_0_MORT ((uint32_t)0x00010000) 03523 #define GPIO_MODER_MODER8_1_MORT ((uint32_t)0x00020000) 03524 03525 #define GPIO_MODER_MODER9_MORT ((uint32_t)0x000C0000) 03526 #define GPIO_MODER_MODER9_0_MORT ((uint32_t)0x00040000) 03527 #define GPIO_MODER_MODER9_1_MORT ((uint32_t)0x00080000) 03528 03529 #define GPIO_MODER_MODER10_MORT ((uint32_t)0x00300000) 03530 #define GPIO_MODER_MODER10_0_MORT ((uint32_t)0x00100000) 03531 #define GPIO_MODER_MODER10_1_MORT ((uint32_t)0x00200000) 03532 03533 #define GPIO_MODER_MODER11_MORT ((uint32_t)0x00C00000) 03534 #define GPIO_MODER_MODER11_0_MORT ((uint32_t)0x00400000) 03535 #define GPIO_MODER_MODER11_1_MORT ((uint32_t)0x00800000) 03536 03537 #define GPIO_MODER_MODER12_MORT ((uint32_t)0x03000000) 03538 #define GPIO_MODER_MODER12_0_MORT ((uint32_t)0x01000000) 03539 #define GPIO_MODER_MODER12_1_MORT ((uint32_t)0x02000000) 03540 03541 #define GPIO_MODER_MODER13_MORT ((uint32_t)0x0C000000) 03542 #define GPIO_MODER_MODER13_0_MORT ((uint32_t)0x04000000) 03543 #define GPIO_MODER_MODER13_1_MORT ((uint32_t)0x08000000) 03544 03545 #define GPIO_MODER_MODER14_MORT ((uint32_t)0x30000000) 03546 #define GPIO_MODER_MODER14_0_MORT ((uint32_t)0x10000000) 03547 #define GPIO_MODER_MODER14_1_MORT ((uint32_t)0x20000000) 03548 03549 #define GPIO_MODER_MODER15_MORT ((uint32_t)0xC0000000) 03550 #define GPIO_MODER_MODER15_0_MORT ((uint32_t)0x40000000) 03551 #define GPIO_MODER_MODER15_1_MORT ((uint32_t)0x80000000) 03552 03553 /****************** Bits definition for GPIO_OTYPER register ****************/ 03554 #define GPIO_OTYPER_OT_0_MORT ((uint32_t)0x00000001) 03555 #define GPIO_OTYPER_OT_1_MORT ((uint32_t)0x00000002) 03556 #define GPIO_OTYPER_OT_2_MORT ((uint32_t)0x00000004) 03557 #define GPIO_OTYPER_OT_3_MORT ((uint32_t)0x00000008) 03558 #define GPIO_OTYPER_OT_4_MORT ((uint32_t)0x00000010) 03559 #define GPIO_OTYPER_OT_5_MORT ((uint32_t)0x00000020) 03560 #define GPIO_OTYPER_OT_6_MORT ((uint32_t)0x00000040) 03561 #define GPIO_OTYPER_OT_7_MORT ((uint32_t)0x00000080) 03562 #define GPIO_OTYPER_OT_8_MORT ((uint32_t)0x00000100) 03563 #define GPIO_OTYPER_OT_9_MORT ((uint32_t)0x00000200) 03564 #define GPIO_OTYPER_OT_10_MORT ((uint32_t)0x00000400) 03565 #define GPIO_OTYPER_OT_11_MORT ((uint32_t)0x00000800) 03566 #define GPIO_OTYPER_OT_12_MORT ((uint32_t)0x00001000) 03567 #define GPIO_OTYPER_OT_13_MORT ((uint32_t)0x00002000) 03568 #define GPIO_OTYPER_OT_14_MORT ((uint32_t)0x00004000) 03569 #define GPIO_OTYPER_OT_15_MORT ((uint32_t)0x00008000) 03570 03571 /****************** Bits definition for GPIO_OSPEEDR register ***************/ 03572 #define GPIO_OSPEEDER_OSPEEDR0_MORT ((uint32_t)0x00000003) 03573 #define GPIO_OSPEEDER_OSPEEDR0_0_MORT ((uint32_t)0x00000001) 03574 #define GPIO_OSPEEDER_OSPEEDR0_1_MORT ((uint32_t)0x00000002) 03575 03576 #define GPIO_OSPEEDER_OSPEEDR1_MORT ((uint32_t)0x0000000C) 03577 #define GPIO_OSPEEDER_OSPEEDR1_0_MORT ((uint32_t)0x00000004) 03578 #define GPIO_OSPEEDER_OSPEEDR1_1_MORT ((uint32_t)0x00000008) 03579 03580 #define GPIO_OSPEEDER_OSPEEDR2_MORT ((uint32_t)0x00000030) 03581 #define GPIO_OSPEEDER_OSPEEDR2_0_MORT ((uint32_t)0x00000010) 03582 #define GPIO_OSPEEDER_OSPEEDR2_1_MORT ((uint32_t)0x00000020) 03583 03584 #define GPIO_OSPEEDER_OSPEEDR3_MORT ((uint32_t)0x000000C0) 03585 #define GPIO_OSPEEDER_OSPEEDR3_0_MORT ((uint32_t)0x00000040) 03586 #define GPIO_OSPEEDER_OSPEEDR3_1_MORT ((uint32_t)0x00000080) 03587 03588 #define GPIO_OSPEEDER_OSPEEDR4_MORT ((uint32_t)0x00000300) 03589 #define GPIO_OSPEEDER_OSPEEDR4_0_MORT ((uint32_t)0x00000100) 03590 #define GPIO_OSPEEDER_OSPEEDR4_1_MORT ((uint32_t)0x00000200) 03591 03592 #define GPIO_OSPEEDER_OSPEEDR5_MORT ((uint32_t)0x00000C00) 03593 #define GPIO_OSPEEDER_OSPEEDR5_0_MORT ((uint32_t)0x00000400) 03594 #define GPIO_OSPEEDER_OSPEEDR5_1_MORT ((uint32_t)0x00000800) 03595 03596 #define GPIO_OSPEEDER_OSPEEDR6_MORT ((uint32_t)0x00003000) 03597 #define GPIO_OSPEEDER_OSPEEDR6_0_MORT ((uint32_t)0x00001000) 03598 #define GPIO_OSPEEDER_OSPEEDR6_1_MORT ((uint32_t)0x00002000) 03599 03600 #define GPIO_OSPEEDER_OSPEEDR7_MORT ((uint32_t)0x0000C000) 03601 #define GPIO_OSPEEDER_OSPEEDR7_0_MORT ((uint32_t)0x00004000) 03602 #define GPIO_OSPEEDER_OSPEEDR7_1_MORT ((uint32_t)0x00008000) 03603 03604 #define GPIO_OSPEEDER_OSPEEDR8_MORT ((uint32_t)0x00030000) 03605 #define GPIO_OSPEEDER_OSPEEDR8_0_MORT ((uint32_t)0x00010000) 03606 #define GPIO_OSPEEDER_OSPEEDR8_1_MORT ((uint32_t)0x00020000) 03607 03608 #define GPIO_OSPEEDER_OSPEEDR9_MORT ((uint32_t)0x000C0000) 03609 #define GPIO_OSPEEDER_OSPEEDR9_0_MORT ((uint32_t)0x00040000) 03610 #define GPIO_OSPEEDER_OSPEEDR9_1_MORT ((uint32_t)0x00080000) 03611 03612 #define GPIO_OSPEEDER_OSPEEDR10_MORT ((uint32_t)0x00300000) 03613 #define GPIO_OSPEEDER_OSPEEDR10_0_MORT ((uint32_t)0x00100000) 03614 #define GPIO_OSPEEDER_OSPEEDR10_1_MORT ((uint32_t)0x00200000) 03615 03616 #define GPIO_OSPEEDER_OSPEEDR11_MORT ((uint32_t)0x00C00000) 03617 #define GPIO_OSPEEDER_OSPEEDR11_0_MORT ((uint32_t)0x00400000) 03618 #define GPIO_OSPEEDER_OSPEEDR11_1_MORT ((uint32_t)0x00800000) 03619 03620 #define GPIO_OSPEEDER_OSPEEDR12_MORT ((uint32_t)0x03000000) 03621 #define GPIO_OSPEEDER_OSPEEDR12_0_MORT ((uint32_t)0x01000000) 03622 #define GPIO_OSPEEDER_OSPEEDR12_1_MORT ((uint32_t)0x02000000) 03623 03624 #define GPIO_OSPEEDER_OSPEEDR13_MORT ((uint32_t)0x0C000000) 03625 #define GPIO_OSPEEDER_OSPEEDR13_0_MORT ((uint32_t)0x04000000) 03626 #define GPIO_OSPEEDER_OSPEEDR13_1_MORT ((uint32_t)0x08000000) 03627 03628 #define GPIO_OSPEEDER_OSPEEDR14_MORT ((uint32_t)0x30000000) 03629 #define GPIO_OSPEEDER_OSPEEDR14_0_MORT ((uint32_t)0x10000000) 03630 #define GPIO_OSPEEDER_OSPEEDR14_1_MORT ((uint32_t)0x20000000) 03631 03632 #define GPIO_OSPEEDER_OSPEEDR15_MORT ((uint32_t)0xC0000000) 03633 #define GPIO_OSPEEDER_OSPEEDR15_0_MORT ((uint32_t)0x40000000) 03634 #define GPIO_OSPEEDER_OSPEEDR15_1_MORT ((uint32_t)0x80000000) 03635 03636 /****************** Bits definition for GPIO_PUPDR register *****************/ 03637 #define GPIO_PUPDR_PUPDR0_MORT ((uint32_t)0x00000003) 03638 #define GPIO_PUPDR_PUPDR0_0_MORT ((uint32_t)0x00000001) 03639 #define GPIO_PUPDR_PUPDR0_1_MORT ((uint32_t)0x00000002) 03640 03641 #define GPIO_PUPDR_PUPDR1_MORT ((uint32_t)0x0000000C) 03642 #define GPIO_PUPDR_PUPDR1_0_MORT ((uint32_t)0x00000004) 03643 #define GPIO_PUPDR_PUPDR1_1_MORT ((uint32_t)0x00000008) 03644 03645 #define GPIO_PUPDR_PUPDR2_MORT ((uint32_t)0x00000030) 03646 #define GPIO_PUPDR_PUPDR2_0_MORT ((uint32_t)0x00000010) 03647 #define GPIO_PUPDR_PUPDR2_1_MORT ((uint32_t)0x00000020) 03648 03649 #define GPIO_PUPDR_PUPDR3_MORT ((uint32_t)0x000000C0) 03650 #define GPIO_PUPDR_PUPDR3_0_MORT ((uint32_t)0x00000040) 03651 #define GPIO_PUPDR_PUPDR3_1_MORT ((uint32_t)0x00000080) 03652 03653 #define GPIO_PUPDR_PUPDR4_MORT ((uint32_t)0x00000300) 03654 #define GPIO_PUPDR_PUPDR4_0_MORT ((uint32_t)0x00000100) 03655 #define GPIO_PUPDR_PUPDR4_1_MORT ((uint32_t)0x00000200) 03656 03657 #define GPIO_PUPDR_PUPDR5_MORT ((uint32_t)0x00000C00) 03658 #define GPIO_PUPDR_PUPDR5_0_MORT ((uint32_t)0x00000400) 03659 #define GPIO_PUPDR_PUPDR5_1_MORT ((uint32_t)0x00000800) 03660 03661 #define GPIO_PUPDR_PUPDR6_MORT ((uint32_t)0x00003000) 03662 #define GPIO_PUPDR_PUPDR6_0_MORT ((uint32_t)0x00001000) 03663 #define GPIO_PUPDR_PUPDR6_1_MORT ((uint32_t)0x00002000) 03664 03665 #define GPIO_PUPDR_PUPDR7_MORT ((uint32_t)0x0000C000) 03666 #define GPIO_PUPDR_PUPDR7_0_MORT ((uint32_t)0x00004000) 03667 #define GPIO_PUPDR_PUPDR7_1_MORT ((uint32_t)0x00008000) 03668 03669 #define GPIO_PUPDR_PUPDR8_MORT ((uint32_t)0x00030000) 03670 #define GPIO_PUPDR_PUPDR8_0_MORT ((uint32_t)0x00010000) 03671 #define GPIO_PUPDR_PUPDR8_1_MORT ((uint32_t)0x00020000) 03672 03673 #define GPIO_PUPDR_PUPDR9_MORT ((uint32_t)0x000C0000) 03674 #define GPIO_PUPDR_PUPDR9_0_MORT ((uint32_t)0x00040000) 03675 #define GPIO_PUPDR_PUPDR9_1_MORT ((uint32_t)0x00080000) 03676 03677 #define GPIO_PUPDR_PUPDR10_MORT ((uint32_t)0x00300000) 03678 #define GPIO_PUPDR_PUPDR10_0_MORT ((uint32_t)0x00100000) 03679 #define GPIO_PUPDR_PUPDR10_1_MORT ((uint32_t)0x00200000) 03680 03681 #define GPIO_PUPDR_PUPDR11_MORT ((uint32_t)0x00C00000) 03682 #define GPIO_PUPDR_PUPDR11_0_MORT ((uint32_t)0x00400000) 03683 #define GPIO_PUPDR_PUPDR11_1_MORT ((uint32_t)0x00800000) 03684 03685 #define GPIO_PUPDR_PUPDR12_MORT ((uint32_t)0x03000000) 03686 #define GPIO_PUPDR_PUPDR12_0_MORT ((uint32_t)0x01000000) 03687 #define GPIO_PUPDR_PUPDR12_1_MORT ((uint32_t)0x02000000) 03688 03689 #define GPIO_PUPDR_PUPDR13_MORT ((uint32_t)0x0C000000) 03690 #define GPIO_PUPDR_PUPDR13_0_MORT ((uint32_t)0x04000000) 03691 #define GPIO_PUPDR_PUPDR13_1_MORT ((uint32_t)0x08000000) 03692 03693 #define GPIO_PUPDR_PUPDR14_MORT ((uint32_t)0x30000000) 03694 #define GPIO_PUPDR_PUPDR14_0_MORT ((uint32_t)0x10000000) 03695 #define GPIO_PUPDR_PUPDR14_1_MORT ((uint32_t)0x20000000) 03696 03697 #define GPIO_PUPDR_PUPDR15_MORT ((uint32_t)0xC0000000) 03698 #define GPIO_PUPDR_PUPDR15_0_MORT ((uint32_t)0x40000000) 03699 #define GPIO_PUPDR_PUPDR15_1_MORT ((uint32_t)0x80000000) 03700 03701 /****************** Bits definition for GPIO_IDR register *******************/ 03702 #define GPIO_IDR_IDR_0_MORT ((uint32_t)0x00000001) 03703 #define GPIO_IDR_IDR_1_MORT ((uint32_t)0x00000002) 03704 #define GPIO_IDR_IDR_2_MORT ((uint32_t)0x00000004) 03705 #define GPIO_IDR_IDR_3_MORT ((uint32_t)0x00000008) 03706 #define GPIO_IDR_IDR_4_MORT ((uint32_t)0x00000010) 03707 #define GPIO_IDR_IDR_5_MORT ((uint32_t)0x00000020) 03708 #define GPIO_IDR_IDR_6_MORT ((uint32_t)0x00000040) 03709 #define GPIO_IDR_IDR_7_MORT ((uint32_t)0x00000080) 03710 #define GPIO_IDR_IDR_8_MORT ((uint32_t)0x00000100) 03711 #define GPIO_IDR_IDR_9_MORT ((uint32_t)0x00000200) 03712 #define GPIO_IDR_IDR_10_MORT ((uint32_t)0x00000400) 03713 #define GPIO_IDR_IDR_11_MORT ((uint32_t)0x00000800) 03714 #define GPIO_IDR_IDR_12_MORT ((uint32_t)0x00001000) 03715 #define GPIO_IDR_IDR_13_MORT ((uint32_t)0x00002000) 03716 #define GPIO_IDR_IDR_14_MORT ((uint32_t)0x00004000) 03717 #define GPIO_IDR_IDR_15_MORT ((uint32_t)0x00008000) 03718 /* Old GPIO_IDR register bits definition, maintained for legacy purpose */ 03719 #define GPIO_OTYPER_IDR_0_MORT GPIO_IDR_IDR_0_MORT 03720 #define GPIO_OTYPER_IDR_1_MORT GPIO_IDR_IDR_1_MORT 03721 #define GPIO_OTYPER_IDR_2_MORT GPIO_IDR_IDR_2_MORT 03722 #define GPIO_OTYPER_IDR_3_MORT GPIO_IDR_IDR_3_MORT 03723 #define GPIO_OTYPER_IDR_4_MORT GPIO_IDR_IDR_4_MORT 03724 #define GPIO_OTYPER_IDR_5_MORT GPIO_IDR_IDR_5_MORT 03725 #define GPIO_OTYPER_IDR_6_MORT GPIO_IDR_IDR_6_MORT 03726 #define GPIO_OTYPER_IDR_7_MORT GPIO_IDR_IDR_7_MORT 03727 #define GPIO_OTYPER_IDR_8_MORT GPIO_IDR_IDR_8_MORT 03728 #define GPIO_OTYPER_IDR_9_MORT GPIO_IDR_IDR_9_MORT 03729 #define GPIO_OTYPER_IDR_10_MORT GPIO_IDR_IDR_10_MORT 03730 #define GPIO_OTYPER_IDR_11_MORT GPIO_IDR_IDR_11_MORT 03731 #define GPIO_OTYPER_IDR_12_MORT GPIO_IDR_IDR_12_MORT 03732 #define GPIO_OTYPER_IDR_13_MORT GPIO_IDR_IDR_13_MORT 03733 #define GPIO_OTYPER_IDR_14_MORT GPIO_IDR_IDR_14_MORT 03734 #define GPIO_OTYPER_IDR_15_MORT GPIO_IDR_IDR_15_MORT 03735 03736 /****************** Bits definition for GPIO_ODR register *******************/ 03737 #define GPIO_ODR_ODR_0_MORT ((uint32_t)0x00000001) 03738 #define GPIO_ODR_ODR_1_MORT ((uint32_t)0x00000002) 03739 #define GPIO_ODR_ODR_2_MORT ((uint32_t)0x00000004) 03740 #define GPIO_ODR_ODR_3_MORT ((uint32_t)0x00000008) 03741 #define GPIO_ODR_ODR_4_MORT ((uint32_t)0x00000010) 03742 #define GPIO_ODR_ODR_5_MORT ((uint32_t)0x00000020) 03743 #define GPIO_ODR_ODR_6_MORT ((uint32_t)0x00000040) 03744 #define GPIO_ODR_ODR_7_MORT ((uint32_t)0x00000080) 03745 #define GPIO_ODR_ODR_8_MORT ((uint32_t)0x00000100) 03746 #define GPIO_ODR_ODR_9_MORT ((uint32_t)0x00000200) 03747 #define GPIO_ODR_ODR_10_MORT ((uint32_t)0x00000400) 03748 #define GPIO_ODR_ODR_11_MORT ((uint32_t)0x00000800) 03749 #define GPIO_ODR_ODR_12_MORT ((uint32_t)0x00001000) 03750 #define GPIO_ODR_ODR_13_MORT ((uint32_t)0x00002000) 03751 #define GPIO_ODR_ODR_14_MORT ((uint32_t)0x00004000) 03752 #define GPIO_ODR_ODR_15_MORT ((uint32_t)0x00008000) 03753 /* Old GPIO_ODR register bits definition, maintained for legacy purpose */ 03754 #define GPIO_OTYPER_ODR_0 GPIO_ODR_ODR_0_MORT 03755 #define GPIO_OTYPER_ODR_1 GPIO_ODR_ODR_1_MORT 03756 #define GPIO_OTYPER_ODR_2 GPIO_ODR_ODR_2_MORT 03757 #define GPIO_OTYPER_ODR_3 GPIO_ODR_ODR_3_MORT 03758 #define GPIO_OTYPER_ODR_4 GPIO_ODR_ODR_4_MORT 03759 #define GPIO_OTYPER_ODR_5 GPIO_ODR_ODR_5_MORT 03760 #define GPIO_OTYPER_ODR_6 GPIO_ODR_ODR_6_MORT 03761 #define GPIO_OTYPER_ODR_7 GPIO_ODR_ODR_7_MORT 03762 #define GPIO_OTYPER_ODR_8 GPIO_ODR_ODR_8_MORT 03763 #define GPIO_OTYPER_ODR_9 GPIO_ODR_ODR_9_MORT 03764 #define GPIO_OTYPER_ODR_10 GPIO_ODR_ODR_10_MORT 03765 #define GPIO_OTYPER_ODR_11 GPIO_ODR_ODR_11_MORT 03766 #define GPIO_OTYPER_ODR_12 GPIO_ODR_ODR_12_MORT 03767 #define GPIO_OTYPER_ODR_13 GPIO_ODR_ODR_13_MORT 03768 #define GPIO_OTYPER_ODR_14 GPIO_ODR_ODR_14_MORT 03769 #define GPIO_OTYPER_ODR_15 GPIO_ODR_ODR_15_MORT 03770 03771 /****************** Bits definition for GPIO_BSRR register ******************/ 03772 #define GPIO_BSRR_BS_0_MORT ((uint32_t)0x00000001) 03773 #define GPIO_BSRR_BS_1_MORT ((uint32_t)0x00000002) 03774 #define GPIO_BSRR_BS_2_MORT ((uint32_t)0x00000004) 03775 #define GPIO_BSRR_BS_3_MORT ((uint32_t)0x00000008) 03776 #define GPIO_BSRR_BS_4_MORT ((uint32_t)0x00000010) 03777 #define GPIO_BSRR_BS_5_MORT ((uint32_t)0x00000020) 03778 #define GPIO_BSRR_BS_6_MORT ((uint32_t)0x00000040) 03779 #define GPIO_BSRR_BS_7_MORT ((uint32_t)0x00000080) 03780 #define GPIO_BSRR_BS_8_MORT ((uint32_t)0x00000100) 03781 #define GPIO_BSRR_BS_9_MORT ((uint32_t)0x00000200) 03782 #define GPIO_BSRR_BS_10_MORT ((uint32_t)0x00000400) 03783 #define GPIO_BSRR_BS_11_MORT ((uint32_t)0x00000800) 03784 #define GPIO_BSRR_BS_12_MORT ((uint32_t)0x00001000) 03785 #define GPIO_BSRR_BS_13_MORT ((uint32_t)0x00002000) 03786 #define GPIO_BSRR_BS_14_MORT ((uint32_t)0x00004000) 03787 #define GPIO_BSRR_BS_15_MORT ((uint32_t)0x00008000) 03788 #define GPIO_BSRR_BR_0_MORT ((uint32_t)0x00010000) 03789 #define GPIO_BSRR_BR_1_MORT ((uint32_t)0x00020000) 03790 #define GPIO_BSRR_BR_2_MORT ((uint32_t)0x00040000) 03791 #define GPIO_BSRR_BR_3_MORT ((uint32_t)0x00080000) 03792 #define GPIO_BSRR_BR_4_MORT ((uint32_t)0x00100000) 03793 #define GPIO_BSRR_BR_5_MORT ((uint32_t)0x00200000) 03794 #define GPIO_BSRR_BR_6_MORT ((uint32_t)0x00400000) 03795 #define GPIO_BSRR_BR_7_MORT ((uint32_t)0x00800000) 03796 #define GPIO_BSRR_BR_8_MORT ((uint32_t)0x01000000) 03797 #define GPIO_BSRR_BR_9_MORT ((uint32_t)0x02000000) 03798 #define GPIO_BSRR_BR_10_MORT ((uint32_t)0x04000000) 03799 #define GPIO_BSRR_BR_11_MORT ((uint32_t)0x08000000) 03800 #define GPIO_BSRR_BR_12_MORT ((uint32_t)0x10000000) 03801 #define GPIO_BSRR_BR_13_MORT ((uint32_t)0x20000000) 03802 #define GPIO_BSRR_BR_14_MORT ((uint32_t)0x40000000) 03803 #define GPIO_BSRR_BR_15_MORT ((uint32_t)0x80000000) 03804 03805 /******************************************************************************/ 03806 /* */ 03807 /* HASH_MORT */ 03808 /* */ 03809 /******************************************************************************/ 03810 /****************** Bits definition for HASH_CR register ********************/ 03811 03812 03813 /****************** Bits definition for HASH_STR register *******************/ 03814 03815 03816 /****************** Bits definition for HASH_IMR register *******************/ 03817 03818 03819 /****************** Bits definition for HASH_SR register ********************/ 03820 03821 /******************************************************************************/ 03822 /* */ 03823 /* Inter-integrated Circuit Interface */ 03824 /* */ 03825 /******************************************************************************/ 03826 /******************* Bit definition for I2C_CR1 register ********************/ 03827 03828 /******************* Bit definition for I2C_CR2 register ********************/ 03829 03830 /******************* Bit definition for I2C_OAR1 register *******************/ 03831 03832 /******************* Bit definition for I2C_OAR2 register *******************/ 03833 03834 /******************** Bit definition for I2C_DR register ********************/ 03835 03836 /******************* Bit definition for I2C_SR1 register ********************/ 03837 03838 /******************* Bit definition for I2C_SR2 register ********************/ 03839 03840 /******************* Bit definition for I2C_CCR register ********************/ 03841 03842 /****************** Bit definition for I2C_TRISE register *******************/ 03843 03844 /****************** Bit definition for I2C_FLTR register *******************/ 03845 03846 #if defined(STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 03847 /******************************************************************************/ 03848 /* */ 03849 /* Fast-mode Plus Inter-integrated circuit (FMPI2C) */ 03850 /* */ 03851 /******************************************************************************/ 03852 /******************* Bit definition for I2C_CR1 register *******************/ 03853 03854 /****************** Bit definition for I2C_CR2 register ********************/ 03855 03856 /******************* Bit definition for I2C_OAR1 register ******************/ 03857 03858 /******************* Bit definition for I2C_OAR2 register *******************/ 03859 03860 /******************* Bit definition for I2C_TIMINGR register *****************/ 03861 03862 /******************* Bit definition for I2C_TIMEOUTR register *****************/ 03863 03864 /****************** Bit definition for I2C_ISR register *********************/ 03865 03866 /****************** Bit definition for I2C_ICR register *********************/ 03867 03868 /****************** Bit definition for I2C_PECR register ********************/ 03869 03870 /****************** Bit definition for I2C_RXDR register *********************/ 03871 03872 /****************** Bit definition for I2C_TXDR register *********************/ 03873 03874 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 03875 /******************************************************************************/ 03876 /* */ 03877 /* Independent WATCHDOG */ 03878 /* */ 03879 /******************************************************************************/ 03880 /******************* Bit definition for IWDG_KR register ********************/ 03881 03882 /******************* Bit definition for IWDG_PR register ********************/ 03883 03884 /******************* Bit definition for IWDG_RLR register *******************/ 03885 03886 /******************* Bit definition for IWDG_SR register ********************/ 03887 03888 /******************************************************************************/ 03889 /* */ 03890 /* LCD-TFT Display Controller (LTDC_MORT) */ 03891 /* */ 03892 /******************************************************************************/ 03893 03894 /******************** Bit definition for LTDC_SSCR register *****************/ 03895 03896 03897 /******************** Bit definition for LTDC_BPCR register *****************/ 03898 03899 03900 /******************** Bit definition for LTDC_AWCR register *****************/ 03901 03902 03903 /******************** Bit definition for LTDC_TWCR register *****************/ 03904 03905 03906 /******************** Bit definition for LTDC_GCR register ******************/ 03907 03908 03909 /* Legacy defines */ 03910 03911 /******************** Bit definition for LTDC_SRCR register *****************/ 03912 03913 03914 /******************** Bit definition for LTDC_BCCR register *****************/ 03915 03916 03917 /******************** Bit definition for LTDC_IER register ******************/ 03918 03919 03920 /******************** Bit definition for LTDC_ISR register ******************/ 03921 03922 03923 /******************** Bit definition for LTDC_ICR register ******************/ 03924 03925 03926 /******************** Bit definition for LTDC_LIPCR register ****************/ 03927 03928 03929 /******************** Bit definition for LTDC_CPSR register *****************/ 03930 03931 03932 /******************** Bit definition for LTDC_CDSR register *****************/ 03933 03934 03935 /******************** Bit definition for LTDC_LxCR register *****************/ 03936 03937 03938 /******************** Bit definition for LTDC_LxWHPCR register **************/ 03939 03940 03941 /******************** Bit definition for LTDC_LxWVPCR register **************/ 03942 03943 03944 /******************** Bit definition for LTDC_LxCKCR register ***************/ 03945 03946 03947 /******************** Bit definition for LTDC_LxPFCR register ***************/ 03948 03949 03950 /******************** Bit definition for LTDC_LxCACR register ***************/ 03951 03952 03953 /******************** Bit definition for LTDC_LxDCCR register ***************/ 03954 03955 03956 /******************** Bit definition for LTDC_LxBFCR register ***************/ 03957 03958 03959 /******************** Bit definition for LTDC_LxCFBAR register **************/ 03960 03961 03962 /******************** Bit definition for LTDC_LxCFBLR register **************/ 03963 03964 03965 /******************** Bit definition for LTDC_LxCFBLNR register *************/ 03966 03967 03968 /******************** Bit definition for LTDC_LxCLUTWR register *************/ 03969 03970 03971 #if defined(STM32F469_479xx) 03972 /******************************************************************************/ 03973 /* */ 03974 /* DSI_MORT */ 03975 /* */ 03976 /******************************************************************************/ 03977 /******************* Bit definition for DSI_VR register *****************/ 03978 03979 03980 /******************* Bit definition for DSI_CR register *****************/ 03981 03982 03983 /******************* Bit definition for DSI_CCR register ****************/ 03984 03985 03986 /******************* Bit definition for DSI_LVCIDR register *************/ 03987 03988 03989 /******************* Bit definition for DSI_LCOLCR register *************/ 03990 03991 03992 03993 /******************* Bit definition for DSI_LPCR register ***************/ 03994 03995 03996 /******************* Bit definition for DSI_LPMCR register **************/ 03997 03998 03999 /******************* Bit definition for DSI_PCR register ****************/ 04000 04001 04002 /******************* Bit definition for DSI_GVCIDR register *************/ 04003 04004 04005 /******************* Bit definition for DSI_MCR register ****************/ 04006 04007 04008 /******************* Bit definition for DSI_VMCR register ***************/ 04009 04010 04011 /******************* Bit definition for DSI_VPCR register ***************/ 04012 04013 04014 /******************* Bit definition for DSI_VCCR register ***************/ 04015 04016 04017 /******************* Bit definition for DSI_VNPCR register **************/ 04018 04019 04020 /******************* Bit definition for DSI_VHSACR register *************/ 04021 04022 04023 /******************* Bit definition for DSI_VHBPCR register *************/ 04024 04025 04026 /******************* Bit definition for DSI_VLCR register ***************/ 04027 04028 /******************* Bit definition for DSI_VVSACR register *************/ 04029 04030 04031 /******************* Bit definition for DSI_VVBPCR register *************/ 04032 04033 04034 /******************* Bit definition for DSI_VVFPCR register *************/ 04035 04036 04037 /******************* Bit definition for DSI_VVACR register **************/ 04038 04039 04040 /******************* Bit definition for DSI_LCCR register ***************/ 04041 04042 04043 /******************* Bit definition for DSI_CMCR register ***************/ 04044 04045 04046 /******************* Bit definition for DSI_GHCR register ***************/ 04047 04048 04049 /******************* Bit definition for DSI_GPDR register ***************/ 04050 04051 04052 /******************* Bit definition for DSI_GPSR register ***************/ 04053 04054 /******************* Bit definition for DSI_TCCR0 register **************/ 04055 04056 04057 /******************* Bit definition for DSI_TCCR1 register **************/ 04058 04059 04060 /******************* Bit definition for DSI_TCCR2 register **************/ 04061 04062 04063 /******************* Bit definition for DSI_TCCR3 register **************/ 04064 04065 04066 /******************* Bit definition for DSI_TCCR4 register **************/ 04067 04068 04069 /******************* Bit definition for DSI_TCCR5 register **************/ 04070 04071 04072 /******************* Bit definition for DSI_TDCR register ***************/ 04073 04074 04075 /******************* Bit definition for DSI_CLCR register ***************/ 04076 04077 04078 /******************* Bit definition for DSI_CLTCR register **************/ 04079 04080 04081 /******************* Bit definition for DSI_DLTCR register **************/ 04082 04083 04084 /******************* Bit definition for DSI_PCTLR register **************/ 04085 04086 04087 /******************* Bit definition for DSI_PCONFR register *************/ 04088 04089 04090 /******************* Bit definition for DSI_PUCR register ***************/ 04091 04092 04093 /******************* Bit definition for DSI_PTTCR register **************/ 04094 04095 04096 /******************* Bit definition for DSI_PSR register ****************/ 04097 04098 04099 /******************* Bit definition for DSI_ISR0 register ***************/ 04100 04101 /******************* Bit definition for DSI_ISR1 register ***************/ 04102 04103 04104 /******************* Bit definition for DSI_IER0 register ***************/ 04105 04106 04107 /******************* Bit definition for DSI_IER1 register ***************/ 04108 04109 04110 /******************* Bit definition for DSI_FIR0 register ***************/ 04111 04112 04113 /******************* Bit definition for DSI_FIR1 register ***************/ 04114 04115 04116 /******************* Bit definition for DSI_VSCR register ***************/ 04117 04118 04119 /******************* Bit definition for DSI_LCVCIDR register ************/ 04120 04121 04122 /******************* Bit definition for DSI_LCCCR register **************/ 04123 04124 04125 /******************* Bit definition for DSI_LPMCCR register *************/ 04126 04127 /******************* Bit definition for DSI_VMCCR register **************/ 04128 04129 04130 /******************* Bit definition for DSI_VPCCR register **************/ 04131 04132 04133 /******************* Bit definition for DSI_VCCCR register **************/ 04134 04135 04136 /******************* Bit definition for DSI_VNPCCR register *************/ 04137 04138 04139 /******************* Bit definition for DSI_VHSACCR register ************/ 04140 04141 04142 /******************* Bit definition for DSI_VHBPCCR register ************/ 04143 04144 04145 /******************* Bit definition for DSI_VLCCR register **************/ 04146 04147 04148 /******************* Bit definition for DSI_VVSACCR register ***************/ 04149 04150 04151 /******************* Bit definition for DSI_VVBPCCR register ************/ 04152 04153 04154 /******************* Bit definition for DSI_VVFPCCR register ************/ 04155 04156 04157 /******************* Bit definition for DSI_VVACCR register *************/ 04158 04159 04160 /******************* Bit definition for DSI_TDCCR register **************/ 04161 04162 04163 /******************* Bit definition for DSI_WCFGR register ***************/ 04164 04165 /******************* Bit definition for DSI_WCR register *****************/ 04166 04167 04168 /******************* Bit definition for DSI_WIER register ****************/ 04169 04170 04171 /******************* Bit definition for DSI_WISR register ****************/ 04172 04173 /******************* Bit definition for DSI_WIFCR register ***************/ 04174 04175 /******************* Bit definition for DSI_WPCR0 register ***************/ 04176 04177 /******************* Bit definition for DSI_WPCR1 register ***************/ 04178 04179 04180 /******************* Bit definition for DSI_WPCR2 register ***************/ 04181 04182 04183 /******************* Bit definition for DSI_WPCR3 register ***************/ 04184 04185 04186 /******************* Bit definition for DSI_WPCR4 register ***************/ 04187 04188 04189 /******************* Bit definition for DSI_WRPCR register ***************/ 04190 04191 #endif /* STM32F469_479xx */ 04192 04193 /******************************************************************************/ 04194 /* */ 04195 /* Power Control */ 04196 /* */ 04197 /******************************************************************************/ 04198 /******************** Bit definition for PWR_CR register ********************/ 04199 04200 /*!< PVD level configuration */ 04201 04202 /* Legacy define */ 04203 04204 /******************* Bit definition for PWR_CSR register ********************/ 04205 04206 /* Legacy define */ 04207 04208 04209 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04210 /******************************************************************************/ 04211 /* */ 04212 /* QUADSPI_MORT */ 04213 /* */ 04214 /******************************************************************************/ 04215 /***************** Bit definition for QUADSPI_CR register *******************/ 04216 04217 /***************** Bit definition for QUADSPI_DCR register ******************/ 04218 04219 /****************** Bit definition for QUADSPI_SR register *******************/ 04220 04221 /****************** Bit definition for QUADSPI_FCR register ******************/ 04222 04223 /****************** Bit definition for QUADSPI_DLR register ******************/ 04224 04225 /****************** Bit definition for QUADSPI_CCR register ******************/ 04226 04227 /****************** Bit definition for QUADSPI_AR register *******************/ 04228 04229 /****************** Bit definition for QUADSPI_ABR register ******************/ 04230 04231 /****************** Bit definition for QUADSPI_DR register *******************/ 04232 04233 /****************** Bit definition for QUADSPI_PSMKR register ****************/ 04234 04235 /****************** Bit definition for QUADSPI_PSMAR register ****************/ 04236 04237 /****************** Bit definition for QUADSPI_PIR register *****************/ 04238 04239 /****************** Bit definition for QUADSPI_LPTR register *****************/ 04240 04241 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 04242 04243 /******************************************************************************/ 04244 /* */ 04245 /* Reset and Clock Control */ 04246 /* */ 04247 /******************************************************************************/ 04248 /******************** Bit definition for RCC_CR register ********************/ 04249 #define RCC_CR_HSION_MORT ((uint32_t)0x00000001) 04250 #define RCC_CR_HSIRDY_MORT ((uint32_t)0x00000002) 04251 04252 #define RCC_CR_HSITRIM_MORT ((uint32_t)0x000000F8) 04253 #define RCC_CR_HSITRIM_0_MORT ((uint32_t)0x00000008)/*!<Bit 0 */ 04254 #define RCC_CR_HSITRIM_1_MORT ((uint32_t)0x00000010)/*!<Bit 1 */ 04255 #define RCC_CR_HSITRIM_2_MORT ((uint32_t)0x00000020)/*!<Bit 2 */ 04256 #define RCC_CR_HSITRIM_3_MORT ((uint32_t)0x00000040)/*!<Bit 3 */ 04257 #define RCC_CR_HSITRIM_4_MORT ((uint32_t)0x00000080)/*!<Bit 4 */ 04258 04259 #define RCC_CR_HSICAL_MORT ((uint32_t)0x0000FF00) 04260 #define RCC_CR_HSICAL_0_MORT ((uint32_t)0x00000100)/*!<Bit 0 */ 04261 #define RCC_CR_HSICAL_1_MORT ((uint32_t)0x00000200)/*!<Bit 1 */ 04262 #define RCC_CR_HSICAL_2_MORT ((uint32_t)0x00000400)/*!<Bit 2 */ 04263 #define RCC_CR_HSICAL_3_MORT ((uint32_t)0x00000800)/*!<Bit 3 */ 04264 #define RCC_CR_HSICAL_4_MORT ((uint32_t)0x00001000)/*!<Bit 4 */ 04265 #define RCC_CR_HSICAL_5_MORT ((uint32_t)0x00002000)/*!<Bit 5 */ 04266 #define RCC_CR_HSICAL_6_MORT ((uint32_t)0x00004000)/*!<Bit 6 */ 04267 #define RCC_CR_HSICAL_7_MORT ((uint32_t)0x00008000)/*!<Bit 7 */ 04268 04269 #define RCC_CR_HSEON_MORT ((uint32_t)0x00010000) 04270 #define RCC_CR_HSERDY_MORT ((uint32_t)0x00020000) 04271 #define RCC_CR_HSEBYP_MORT ((uint32_t)0x00040000) 04272 #define RCC_CR_CSSON_MORT ((uint32_t)0x00080000) 04273 #define RCC_CR_PLLON_MORT ((uint32_t)0x01000000) 04274 #define RCC_CR_PLLRDY_MORT ((uint32_t)0x02000000) 04275 #define RCC_CR_PLLI2SON_MORT ((uint32_t)0x04000000) 04276 #define RCC_CR_PLLI2SRDY_MORT ((uint32_t)0x08000000) 04277 #define RCC_CR_PLLSAION_MORT ((uint32_t)0x10000000) 04278 #define RCC_CR_PLLSAIRDY_MORT ((uint32_t)0x20000000) 04279 04280 /******************** Bit definition for RCC_PLLCFGR register ***************/ 04281 #define RCC_PLLCFGR_PLLM_MORT ((uint32_t)0x0000003F) 04282 #define RCC_PLLCFGR_PLLM_0_MORT ((uint32_t)0x00000001) 04283 #define RCC_PLLCFGR_PLLM_1_MORT ((uint32_t)0x00000002) 04284 #define RCC_PLLCFGR_PLLM_2_MORT ((uint32_t)0x00000004) 04285 #define RCC_PLLCFGR_PLLM_3_MORT ((uint32_t)0x00000008) 04286 #define RCC_PLLCFGR_PLLM_4_MORT ((uint32_t)0x00000010) 04287 #define RCC_PLLCFGR_PLLM_5_MORT ((uint32_t)0x00000020) 04288 04289 #define RCC_PLLCFGR_PLLN_MORT ((uint32_t)0x00007FC0) 04290 #define RCC_PLLCFGR_PLLN_0_MORT ((uint32_t)0x00000040) 04291 #define RCC_PLLCFGR_PLLN_1_MORT ((uint32_t)0x00000080) 04292 #define RCC_PLLCFGR_PLLN_2_MORT ((uint32_t)0x00000100) 04293 #define RCC_PLLCFGR_PLLN_3_MORT ((uint32_t)0x00000200) 04294 #define RCC_PLLCFGR_PLLN_4_MORT ((uint32_t)0x00000400) 04295 #define RCC_PLLCFGR_PLLN_5_MORT ((uint32_t)0x00000800) 04296 #define RCC_PLLCFGR_PLLN_6_MORT ((uint32_t)0x00001000) 04297 #define RCC_PLLCFGR_PLLN_7_MORT ((uint32_t)0x00002000) 04298 #define RCC_PLLCFGR_PLLN_8_MORT ((uint32_t)0x00004000) 04299 04300 #define RCC_PLLCFGR_PLLP_MORT ((uint32_t)0x00030000) 04301 #define RCC_PLLCFGR_PLLP_0_MORT ((uint32_t)0x00010000) 04302 #define RCC_PLLCFGR_PLLP_1_MORT ((uint32_t)0x00020000) 04303 04304 #define RCC_PLLCFGR_PLLSRC_MORT ((uint32_t)0x00400000) 04305 #define RCC_PLLCFGR_PLLSRC_HSE_MORT ((uint32_t)0x00400000) 04306 #define RCC_PLLCFGR_PLLSRC_HSI_MORT ((uint32_t)0x00000000) 04307 04308 #define RCC_PLLCFGR_PLLQ_MORT ((uint32_t)0x0F000000) 04309 #define RCC_PLLCFGR_PLLQ_0_MORT ((uint32_t)0x01000000) 04310 #define RCC_PLLCFGR_PLLQ_1_MORT ((uint32_t)0x02000000) 04311 #define RCC_PLLCFGR_PLLQ_2_MORT ((uint32_t)0x04000000) 04312 #define RCC_PLLCFGR_PLLQ_3_MORT ((uint32_t)0x08000000) 04313 04314 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04315 #define RCC_PLLCFGR_PLLR_MORT ((uint32_t)0x70000000) 04316 #define RCC_PLLCFGR_PLLR_0_MORT ((uint32_t)0x10000000) 04317 #define RCC_PLLCFGR_PLLR_1_MORT ((uint32_t)0x20000000) 04318 #define RCC_PLLCFGR_PLLR_2_MORT ((uint32_t)0x40000000) 04319 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 04320 04321 /******************** Bit definition for RCC_CFGR register ******************/ 04322 /*!< SW configuration */ 04323 #define RCC_CFGR_SW_MORT ((uint32_t)0x00000003) /*!< SW[1:0] bits (System clock Switch) */ 04324 #define RCC_CFGR_SW_0_MORT ((uint32_t)0x00000001) /*!< Bit 0 */ 04325 #define RCC_CFGR_SW_1_MORT ((uint32_t)0x00000002) /*!< Bit 1 */ 04326 04327 #define RCC_CFGR_SW_HSI_MORT ((uint32_t)0x00000000) /*!< HSI selected as system clock */ 04328 #define RCC_CFGR_SW_HSE_MORT ((uint32_t)0x00000001) /*!< HSE selected as system clock */ 04329 #define RCC_CFGR_SW_PLL_MORT ((uint32_t)0x00000002) /*!< PLL/PLLP selected as system clock */ 04330 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04331 #define RCC_CFGR_SW_PLLR_MORT ((uint32_t)0x00000003) /*!< PLL/PLLR selected as system clock */ 04332 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 04333 04334 /*!< SWS configuration */ 04335 #define RCC_CFGR_SWS_MORT ((uint32_t)0x0000000C) /*!< SWS[1:0] bits (System Clock Switch Status) */ 04336 #define RCC_CFGR_SWS_0_MORT ((uint32_t)0x00000004) /*!< Bit 0 */ 04337 #define RCC_CFGR_SWS_1_MORT ((uint32_t)0x00000008) /*!< Bit 1 */ 04338 04339 #define RCC_CFGR_SWS_HSI_MORT ((uint32_t)0x00000000) /*!< HSI oscillator used as system clock */ 04340 #define RCC_CFGR_SWS_HSE_MORT ((uint32_t)0x00000004) /*!< HSE oscillator used as system clock */ 04341 #define RCC_CFGR_SWS_PLL_MORT ((uint32_t)0x00000008) /*!< PLL/PLLP used as system clock */ 04342 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F469_479xx) || defined(STM32F446xx_MORT) 04343 #define RCC_CFGR_SWS_PLLR_MORT ((uint32_t)0x0000000C) /*!< PLL/PLLR used as system clock */ 04344 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 04345 04346 /*!< HPRE configuration */ 04347 #define RCC_CFGR_HPRE_MORT ((uint32_t)0x000000F0) /*!< HPRE[3:0] bits (AHB prescaler) */ 04348 #define RCC_CFGR_HPRE_0_MORT ((uint32_t)0x00000010) /*!< Bit 0 */ 04349 #define RCC_CFGR_HPRE_1_MORT ((uint32_t)0x00000020) /*!< Bit 1 */ 04350 #define RCC_CFGR_HPRE_2_MORT ((uint32_t)0x00000040) /*!< Bit 2 */ 04351 #define RCC_CFGR_HPRE_3_MORT ((uint32_t)0x00000080) /*!< Bit 3 */ 04352 04353 #define RCC_CFGR_HPRE_DIV1_MORT ((uint32_t)0x00000000) /*!< SYSCLK not divided */ 04354 #define RCC_CFGR_HPRE_DIV2_MORT ((uint32_t)0x00000080) /*!< SYSCLK divided by 2 */ 04355 #define RCC_CFGR_HPRE_DIV4_MORT ((uint32_t)0x00000090) /*!< SYSCLK divided by 4 */ 04356 #define RCC_CFGR_HPRE_DIV8_MORT ((uint32_t)0x000000A0) /*!< SYSCLK divided by 8 */ 04357 #define RCC_CFGR_HPRE_DIV16_MORT ((uint32_t)0x000000B0) /*!< SYSCLK divided by 16 */ 04358 #define RCC_CFGR_HPRE_DIV64_MORT ((uint32_t)0x000000C0) /*!< SYSCLK divided by 64 */ 04359 #define RCC_CFGR_HPRE_DIV128_MORT ((uint32_t)0x000000D0) /*!< SYSCLK divided by 128 */ 04360 #define RCC_CFGR_HPRE_DIV256_MORT ((uint32_t)0x000000E0) /*!< SYSCLK divided by 256 */ 04361 #define RCC_CFGR_HPRE_DIV512_MORT ((uint32_t)0x000000F0) /*!< SYSCLK divided by 512 */ 04362 04363 #if defined(STM32F410xx) 04364 /*!< MCO1EN configuration */ 04365 04366 #endif /* STM32F410xx */ 04367 /*!< PPRE1 configuration */ 04368 #define RCC_CFGR_PPRE1_MORT ((uint32_t)0x00001C00) /*!< PRE1[2:0] bits (APB1 prescaler) */ 04369 #define RCC_CFGR_PPRE1_0_MORT ((uint32_t)0x00000400) /*!< Bit 0 */ 04370 #define RCC_CFGR_PPRE1_1_MORT ((uint32_t)0x00000800) /*!< Bit 1 */ 04371 #define RCC_CFGR_PPRE1_2_MORT ((uint32_t)0x00001000) /*!< Bit 2 */ 04372 04373 #define RCC_CFGR_PPRE1_DIV1_MORT ((uint32_t)0x00000000) /*!< HCLK not divided */ 04374 #define RCC_CFGR_PPRE1_DIV2_MORT ((uint32_t)0x00001000) /*!< HCLK divided by 2 */ 04375 #define RCC_CFGR_PPRE1_DIV4_MORT ((uint32_t)0x00001400) /*!< HCLK divided by 4 */ 04376 #define RCC_CFGR_PPRE1_DIV8_MORT ((uint32_t)0x00001800) /*!< HCLK divided by 8 */ 04377 #define RCC_CFGR_PPRE1_DIV16_MORT ((uint32_t)0x00001C00) /*!< HCLK divided by 16 */ 04378 04379 /*!< PPRE2 configuration */ 04380 #define RCC_CFGR_PPRE2_MORT ((uint32_t)0x0000E000) /*!< PRE2[2:0] bits (APB2 prescaler) */ 04381 #define RCC_CFGR_PPRE2_0_MORT ((uint32_t)0x00002000) /*!< Bit 0 */ 04382 #define RCC_CFGR_PPRE2_1_MORT ((uint32_t)0x00004000) /*!< Bit 1 */ 04383 #define RCC_CFGR_PPRE2_2_MORT ((uint32_t)0x00008000) /*!< Bit 2 */ 04384 04385 #define RCC_CFGR_PPRE2_DIV1_MORT ((uint32_t)0x00000000) /*!< HCLK not divided */ 04386 #define RCC_CFGR_PPRE2_DIV2_MORT ((uint32_t)0x00008000) /*!< HCLK divided by 2 */ 04387 #define RCC_CFGR_PPRE2_DIV4_MORT ((uint32_t)0x0000A000) /*!< HCLK divided by 4 */ 04388 #define RCC_CFGR_PPRE2_DIV8_MORT ((uint32_t)0x0000C000) /*!< HCLK divided by 8 */ 04389 #define RCC_CFGR_PPRE2_DIV16_MORT ((uint32_t)0x0000E000) /*!< HCLK divided by 16 */ 04390 04391 /*!< RTCPRE configuration */ 04392 #define RCC_CFGR_RTCPRE_MORT ((uint32_t)0x001F0000) 04393 #define RCC_CFGR_RTCPRE_0_MORT ((uint32_t)0x00010000) 04394 #define RCC_CFGR_RTCPRE_1_MORT ((uint32_t)0x00020000) 04395 #define RCC_CFGR_RTCPRE_2_MORT ((uint32_t)0x00040000) 04396 #define RCC_CFGR_RTCPRE_3_MORT ((uint32_t)0x00080000) 04397 #define RCC_CFGR_RTCPRE_4_MORT ((uint32_t)0x00100000) 04398 04399 /*!< MCO1 configuration */ 04400 #define RCC_CFGR_MCO1_MORT ((uint32_t)0x00600000) 04401 #define RCC_CFGR_MCO1_0_MORT ((uint32_t)0x00200000) 04402 #define RCC_CFGR_MCO1_1_MORT ((uint32_t)0x00400000) 04403 04404 #define RCC_CFGR_I2SSRC_MORT ((uint32_t)0x00800000) 04405 04406 #define RCC_CFGR_MCO1PRE_MORT ((uint32_t)0x07000000) 04407 #define RCC_CFGR_MCO1PRE_0_MORT ((uint32_t)0x01000000) 04408 #define RCC_CFGR_MCO1PRE_1_MORT ((uint32_t)0x02000000) 04409 #define RCC_CFGR_MCO1PRE_2_MORT ((uint32_t)0x04000000) 04410 04411 #define RCC_CFGR_MCO2PRE_MORT ((uint32_t)0x38000000) 04412 #define RCC_CFGR_MCO2PRE_0_MORT ((uint32_t)0x08000000) 04413 #define RCC_CFGR_MCO2PRE_1_MORT ((uint32_t)0x10000000) 04414 #define RCC_CFGR_MCO2PRE_2_MORT ((uint32_t)0x20000000) 04415 04416 #define RCC_CFGR_MCO2_MORT ((uint32_t)0xC0000000) 04417 #define RCC_CFGR_MCO2_0_MORT ((uint32_t)0x40000000) 04418 #define RCC_CFGR_MCO2_1_MORT ((uint32_t)0x80000000) 04419 04420 /******************** Bit definition for RCC_CIR register *******************/ 04421 #define RCC_CIR_LSIRDYF_MORT ((uint32_t)0x00000001) 04422 #define RCC_CIR_LSERDYF_MORT ((uint32_t)0x00000002) 04423 #define RCC_CIR_HSIRDYF_MORT ((uint32_t)0x00000004) 04424 #define RCC_CIR_HSERDYF_MORT ((uint32_t)0x00000008) 04425 #define RCC_CIR_PLLRDYF_MORT ((uint32_t)0x00000010) 04426 #define RCC_CIR_PLLI2SRDYF_MORT ((uint32_t)0x00000020) 04427 #define RCC_CIR_PLLSAIRDYF_MORT ((uint32_t)0x00000040) 04428 #define RCC_CIR_CSSF_MORT ((uint32_t)0x00000080) 04429 #define RCC_CIR_LSIRDYIE_MORT ((uint32_t)0x00000100) 04430 #define RCC_CIR_LSERDYIE_MORT ((uint32_t)0x00000200) 04431 #define RCC_CIR_HSIRDYIE_MORT ((uint32_t)0x00000400) 04432 #define RCC_CIR_HSERDYIE_MORT ((uint32_t)0x00000800) 04433 #define RCC_CIR_PLLRDYIE_MORT ((uint32_t)0x00001000) 04434 #define RCC_CIR_PLLI2SRDYIE_MORT ((uint32_t)0x00002000) 04435 #define RCC_CIR_PLLSAIRDYIE_MORT ((uint32_t)0x00004000) 04436 #define RCC_CIR_LSIRDYC_MORT ((uint32_t)0x00010000) 04437 #define RCC_CIR_LSERDYC_MORT ((uint32_t)0x00020000) 04438 #define RCC_CIR_HSIRDYC_MORT ((uint32_t)0x00040000) 04439 #define RCC_CIR_HSERDYC_MORT ((uint32_t)0x00080000) 04440 #define RCC_CIR_PLLRDYC_MORT ((uint32_t)0x00100000) 04441 #define RCC_CIR_PLLI2SRDYC_MORT ((uint32_t)0x00200000) 04442 #define RCC_CIR_PLLSAIRDYC_MORT ((uint32_t)0x00400000) 04443 #define RCC_CIR_CSSC_MORT ((uint32_t)0x00800000) 04444 04445 /******************** Bit definition for RCC_AHB1RSTR register **************/ 04446 #define RCC_AHB1RSTR_GPIOARST_MORT ((uint32_t)0x00000001) 04447 #define RCC_AHB1RSTR_GPIOBRST_MORT ((uint32_t)0x00000002) 04448 #define RCC_AHB1RSTR_GPIOCRST_MORT ((uint32_t)0x00000004) 04449 #define RCC_AHB1RSTR_GPIODRST_MORT ((uint32_t)0x00000008) 04450 #define RCC_AHB1RSTR_GPIOERST_MORT ((uint32_t)0x00000010) 04451 #define RCC_AHB1RSTR_GPIOFRST_MORT ((uint32_t)0x00000020) 04452 #define RCC_AHB1RSTR_GPIOGRST_MORT ((uint32_t)0x00000040) 04453 #define RCC_AHB1RSTR_GPIOHRST_MORT ((uint32_t)0x00000080) 04454 #define RCC_AHB1RSTR_GPIOIRST_MORT ((uint32_t)0x00000100) 04455 #define RCC_AHB1RSTR_GPIOJRST_MORT ((uint32_t)0x00000200) 04456 #define RCC_AHB1RSTR_GPIOKRST_MORT ((uint32_t)0x00000400) 04457 #define RCC_AHB1RSTR_CRCRST_MORT ((uint32_t)0x00001000) 04458 #define RCC_AHB1RSTR_DMA1RST_MORT ((uint32_t)0x00200000) 04459 #define RCC_AHB1RSTR_DMA2RST_MORT ((uint32_t)0x00400000) 04460 #define RCC_AHB1RSTR_DMA2DRST_MORT ((uint32_t)0x00800000) 04461 #define RCC_AHB1RSTR_ETHMACRST_MORT ((uint32_t)0x02000000) 04462 #define RCC_AHB1RSTR_OTGHRST_MORT ((uint32_t)0x10000000) 04463 04464 /******************** Bit definition for RCC_AHB2RSTR register **************/ 04465 #define RCC_AHB2RSTR_DCMIRST_MORT ((uint32_t)0x00000001) 04466 #define RCC_AHB2RSTR_CRYPRST_MORT ((uint32_t)0x00000010) 04467 #define RCC_AHB2RSTR_HASHRST_MORT ((uint32_t)0x00000020) 04468 /* maintained for legacy purpose */ 04469 #define RCC_AHB2RSTR_HSAHRST_MORT RCC_AHB2RSTR_HASHRST_MORT 04470 #define RCC_AHB2RSTR_RNGRST_MORT ((uint32_t)0x00000040) 04471 #define RCC_AHB2RSTR_OTGFSRST_MORT ((uint32_t)0x00000080) 04472 04473 /******************** Bit definition for RCC_AHB3RSTR register **************/ 04474 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 04475 04476 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 04477 04478 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04479 #define RCC_AHB3RSTR_FMCRST_MORT ((uint32_t)0x00000001) 04480 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 04481 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04482 #define RCC_AHB3RSTR_QSPIRST_MORT ((uint32_t)0x00000002) 04483 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 04484 04485 /******************** Bit definition for RCC_APB1RSTR register **************/ 04486 #define RCC_APB1RSTR_TIM2RST_MORT ((uint32_t)0x00000001) 04487 #define RCC_APB1RSTR_TIM3RST_MORT ((uint32_t)0x00000002) 04488 #define RCC_APB1RSTR_TIM4RST_MORT ((uint32_t)0x00000004) 04489 #define RCC_APB1RSTR_TIM5RST_MORT ((uint32_t)0x00000008) 04490 #define RCC_APB1RSTR_TIM6RST_MORT ((uint32_t)0x00000010) 04491 #define RCC_APB1RSTR_TIM7RST_MORT ((uint32_t)0x00000020) 04492 #define RCC_APB1RSTR_TIM12RST_MORT ((uint32_t)0x00000040) 04493 #define RCC_APB1RSTR_TIM13RST_MORT ((uint32_t)0x00000080) 04494 #define RCC_APB1RSTR_TIM14RST_MORT ((uint32_t)0x00000100) 04495 #if defined(STM32F410xx) || defined(STM32F413_423xx) 04496 #define RCC_APB1RSTR_LPTIM1RST_MORT ((uint32_t)0x00000200) 04497 #endif /* STM32F410xx || STM32F413_423xx */ 04498 #define RCC_APB1RSTR_WWDGRST_MORT ((uint32_t)0x00000800) 04499 #define RCC_APB1RSTR_SPI2RST_MORT ((uint32_t)0x00004000) 04500 #define RCC_APB1RSTR_SPI3RST_MORT ((uint32_t)0x00008000) 04501 #if defined(STM32F446xx_MORT) 04502 #define RCC_APB1RSTR_SPDIFRXRST_MORT ((uint32_t)0x00010000) 04503 #endif /* STM32F446xx_MORT */ 04504 #define RCC_APB1RSTR_USART2RST_MORT ((uint32_t)0x00020000) 04505 #define RCC_APB1RSTR_USART3RST_MORT ((uint32_t)0x00040000) 04506 #define RCC_APB1RSTR_UART4RST_MORT ((uint32_t)0x00080000) 04507 #define RCC_APB1RSTR_UART5RST_MORT ((uint32_t)0x00100000) 04508 #define RCC_APB1RSTR_I2C1RST_MORT ((uint32_t)0x00200000) 04509 #define RCC_APB1RSTR_I2C2RST_MORT ((uint32_t)0x00400000) 04510 #define RCC_APB1RSTR_I2C3RST_MORT ((uint32_t)0x00800000) 04511 #if defined(STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 04512 #define RCC_APB1RSTR_FMPI2C1RST_MORT ((uint32_t)0x01000000) 04513 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 04514 #define RCC_APB1RSTR_CAN1RST_MORT ((uint32_t)0x02000000) 04515 #define RCC_APB1RSTR_CAN2RST_MORT ((uint32_t)0x04000000) 04516 #if defined(STM32F446xx_MORT) 04517 #define RCC_APB1RSTR_CECRST_MORT ((uint32_t)0x08000000) 04518 #endif /* STM32F446xx_MORT */ 04519 #define RCC_APB1RSTR_PWRRST_MORT ((uint32_t)0x10000000) 04520 #define RCC_APB1RSTR_DACRST_MORT ((uint32_t)0x20000000) 04521 #define RCC_APB1RSTR_UART7RST_MORT ((uint32_t)0x40000000) 04522 #define RCC_APB1RSTR_UART8RST_MORT ((uint32_t)0x80000000) 04523 04524 /******************** Bit definition for RCC_APB2RSTR register **************/ 04525 #define RCC_APB2RSTR_TIM1RST_MORT ((uint32_t)0x00000001) 04526 #define RCC_APB2RSTR_TIM8RST_MORT ((uint32_t)0x00000002) 04527 #define RCC_APB2RSTR_USART1RST_MORT ((uint32_t)0x00000010) 04528 #define RCC_APB2RSTR_USART6RST_MORT ((uint32_t)0x00000020) 04529 #define RCC_APB2RSTR_UART9RST_MORT ((uint32_t)0x00000040) 04530 #define RCC_APB2RSTR_UART10RST_MORT ((uint32_t)0x00000080) 04531 #define RCC_APB2RSTR_ADCRST_MORT ((uint32_t)0x00000100) 04532 #define RCC_APB2RSTR_SDIORST_MORT ((uint32_t)0x00000800) 04533 #define RCC_APB2RSTR_SPI1RST_MORT ((uint32_t)0x00001000) 04534 #define RCC_APB2RSTR_SPI4RST_MORT ((uint32_t)0x00002000) 04535 #define RCC_APB2RSTR_SYSCFGRST_MORT ((uint32_t)0x00004000) 04536 #define RCC_APB2RSTR_TIM9RST_MORT ((uint32_t)0x00010000) 04537 #define RCC_APB2RSTR_TIM10RST_MORT ((uint32_t)0x00020000) 04538 #define RCC_APB2RSTR_TIM11RST_MORT ((uint32_t)0x00040000) 04539 #define RCC_APB2RSTR_SPI5RST_MORT ((uint32_t)0x00100000) 04540 #define RCC_APB2RSTR_SPI6RST_MORT ((uint32_t)0x00200000) 04541 #define RCC_APB2RSTR_SAI1RST_MORT ((uint32_t)0x00400000) 04542 #if defined(STM32F446xx_MORT) 04543 #define RCC_APB2RSTR_SAI2RST_MORT ((uint32_t)0x00800000) 04544 #endif /* STM32F446xx_MORT */ 04545 #define RCC_APB2RSTR_LTDCRST_MORT ((uint32_t)0x04000000) 04546 #if defined(STM32F469_479xx) 04547 #define RCC_APB2RSTR_DSIRST_MORT ((uint32_t)0x08000000) 04548 #endif /* STM32F469_479xx */ 04549 #if defined(STM32F412xG) || defined(STM32F413_423xx) 04550 #define RCC_APB2RSTR_DFSDM1RST_MORT ((uint32_t)0x01000000) 04551 #endif /* STM32F412xG || STM32F413_423xx */ 04552 04553 #if defined(STM32F413_423xx) 04554 #define RCC_APB2RSTR_DFSDM2RST_MORT ((uint32_t)0x02000000) 04555 #endif /* STM32F413_423xx */ 04556 /* Old definitions, maintained for legacy purpose */ 04557 #define RCC_APB2RSTR_SPI1_MORT RCC_APB2RSTR_SPI1RST_MORT 04558 #define RCC_APB2RSTR_DFSDMRST RCC_APB2RSTR_DFSDM1RST_MORT 04559 04560 /******************** Bit definition for RCC_AHB1ENR register ***************/ 04561 #define RCC_AHB1ENR_GPIOAEN_MORT ((uint32_t)0x00000001) 04562 #define RCC_AHB1ENR_GPIOBEN_MORT ((uint32_t)0x00000002) 04563 #define RCC_AHB1ENR_GPIOCEN_MORT ((uint32_t)0x00000004) 04564 #define RCC_AHB1ENR_GPIODEN_MORT ((uint32_t)0x00000008) 04565 #define RCC_AHB1ENR_GPIOEEN_MORT ((uint32_t)0x00000010) 04566 #define RCC_AHB1ENR_GPIOFEN_MORT ((uint32_t)0x00000020) 04567 #define RCC_AHB1ENR_GPIOGEN_MORT ((uint32_t)0x00000040) 04568 #define RCC_AHB1ENR_GPIOHEN_MORT ((uint32_t)0x00000080) 04569 #define RCC_AHB1ENR_GPIOIEN_MORT ((uint32_t)0x00000100) 04570 #define RCC_AHB1ENR_GPIOJEN_MORT ((uint32_t)0x00000200) 04571 #define RCC_AHB1ENR_GPIOKEN_MORT ((uint32_t)0x00000400) 04572 #define RCC_AHB1ENR_CRCEN_MORT ((uint32_t)0x00001000) 04573 #define RCC_AHB1ENR_BKPSRAMEN_MORT ((uint32_t)0x00040000) 04574 #define RCC_AHB1ENR_CCMDATARAMEN_MORT ((uint32_t)0x00100000) 04575 #define RCC_AHB1ENR_DMA1EN_MORT ((uint32_t)0x00200000) 04576 #define RCC_AHB1ENR_DMA2EN_MORT ((uint32_t)0x00400000) 04577 #define RCC_AHB1ENR_DMA2DEN_MORT ((uint32_t)0x00800000) 04578 #define RCC_AHB1ENR_ETHMACEN_MORT ((uint32_t)0x02000000) 04579 #define RCC_AHB1ENR_ETHMACTXEN_MORT ((uint32_t)0x04000000) 04580 #define RCC_AHB1ENR_ETHMACRXEN_MORT ((uint32_t)0x08000000) 04581 #define RCC_AHB1ENR_ETHMACPTPEN_MORT ((uint32_t)0x10000000) 04582 #define RCC_AHB1ENR_OTGHSEN_MORT ((uint32_t)0x20000000) 04583 #define RCC_AHB1ENR_OTGHSULPIEN_MORT ((uint32_t)0x40000000) 04584 04585 /******************** Bit definition for RCC_AHB2ENR register ***************/ 04586 #define RCC_AHB2ENR_DCMIEN_MORT ((uint32_t)0x00000001) 04587 #define RCC_AHB2ENR_CRYPEN_MORT ((uint32_t)0x00000010) 04588 #define RCC_AHB2ENR_HASHEN_MORT ((uint32_t)0x00000020) 04589 #define RCC_AHB2ENR_RNGEN_MORT ((uint32_t)0x00000040) 04590 #define RCC_AHB2ENR_OTGFSEN_MORT ((uint32_t)0x00000080) 04591 04592 /******************** Bit definition for RCC_AHB3ENR register ***************/ 04593 04594 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 04595 04596 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 04597 04598 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04599 #define RCC_AHB3ENR_FMCEN_MORT ((uint32_t)0x00000001) 04600 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 04601 04602 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04603 #define RCC_AHB3ENR_QSPIEN_MORT ((uint32_t)0x00000002) 04604 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT || STM32F469_479xx */ 04605 04606 /******************** Bit definition for RCC_APB1ENR register ***************/ 04607 #define RCC_APB1ENR_TIM2EN_MORT ((uint32_t)0x00000001) 04608 #define RCC_APB1ENR_TIM3EN_MORT ((uint32_t)0x00000002) 04609 #define RCC_APB1ENR_TIM4EN_MORT ((uint32_t)0x00000004) 04610 #define RCC_APB1ENR_TIM5EN_MORT ((uint32_t)0x00000008) 04611 #define RCC_APB1ENR_TIM6EN_MORT ((uint32_t)0x00000010) 04612 #define RCC_APB1ENR_TIM7EN_MORT ((uint32_t)0x00000020) 04613 #define RCC_APB1ENR_TIM12EN_MORT ((uint32_t)0x00000040) 04614 #define RCC_APB1ENR_TIM13EN_MORT ((uint32_t)0x00000080) 04615 #define RCC_APB1ENR_TIM14EN_MORT ((uint32_t)0x00000100) 04616 #if defined(STM32F410xx) || defined(STM32F413_423xx) 04617 04618 #endif /* STM32F410xx || STM32F413_423xx */ 04619 #define RCC_APB1ENR_WWDGEN_MORT ((uint32_t)0x00000800) 04620 #define RCC_APB1ENR_SPI2EN_MORT ((uint32_t)0x00004000) 04621 #define RCC_APB1ENR_SPI3EN_MORT ((uint32_t)0x00008000) 04622 #if defined(STM32F446xx_MORT) 04623 #define RCC_APB1ENR_SPDIFRXEN_MORT ((uint32_t)0x00010000) 04624 #endif /* STM32F446xx_MORT */ 04625 #define RCC_APB1ENR_USART2EN_MORT ((uint32_t)0x00020000) 04626 #define RCC_APB1ENR_USART3EN_MORT ((uint32_t)0x00040000) 04627 #define RCC_APB1ENR_UART4EN_MORT ((uint32_t)0x00080000) 04628 #define RCC_APB1ENR_UART5EN_MORT ((uint32_t)0x00100000) 04629 #define RCC_APB1ENR_I2C1EN_MORT ((uint32_t)0x00200000) 04630 #define RCC_APB1ENR_I2C2EN_MORT ((uint32_t)0x00400000) 04631 #define RCC_APB1ENR_I2C3EN_MORT ((uint32_t)0x00800000) 04632 #if defined(STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 04633 #define RCC_APB1ENR_FMPI2C1EN_MORT ((uint32_t)0x01000000) 04634 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 04635 #define RCC_APB1ENR_CAN1EN_MORT ((uint32_t)0x02000000) 04636 #define RCC_APB1ENR_CAN2EN_MORT ((uint32_t)0x04000000) 04637 #if defined(STM32F446xx_MORT) 04638 #define RCC_APB1ENR_CECEN_MORT ((uint32_t)0x08000000) 04639 #endif /* STM32F446xx_MORT */ 04640 #define RCC_APB1ENR_PWREN_MORT ((uint32_t)0x10000000) 04641 #define RCC_APB1ENR_DACEN_MORT ((uint32_t)0x20000000) 04642 #define RCC_APB1ENR_UART7EN_MORT ((uint32_t)0x40000000) 04643 #define RCC_APB1ENR_UART8EN_MORT ((uint32_t)0x80000000) 04644 04645 /******************** Bit definition for RCC_APB2ENR register ***************/ 04646 #define RCC_APB2ENR_TIM1EN_MORT ((uint32_t)0x00000001) 04647 #define RCC_APB2ENR_TIM8EN_MORT ((uint32_t)0x00000002) 04648 #define RCC_APB2ENR_USART1EN_MORT ((uint32_t)0x00000010) 04649 #define RCC_APB2ENR_USART6EN_MORT ((uint32_t)0x00000020) 04650 #define RCC_APB2ENR_UART9EN_MORT ((uint32_t)0x00000040) 04651 #define RCC_APB2ENR_UART10EN_MORT ((uint32_t)0x00000080) 04652 #define RCC_APB2ENR_ADC1EN_MORT ((uint32_t)0x00000100) 04653 #define RCC_APB2ENR_ADC2EN_MORT ((uint32_t)0x00000200) 04654 #define RCC_APB2ENR_ADC3EN_MORT ((uint32_t)0x00000400) 04655 #define RCC_APB2ENR_SDIOEN_MORT ((uint32_t)0x00000800) 04656 #define RCC_APB2ENR_SPI1EN_MORT ((uint32_t)0x00001000) 04657 #define RCC_APB2ENR_SPI4EN_MORT ((uint32_t)0x00002000) 04658 #define RCC_APB2ENR_SYSCFGEN_MORT ((uint32_t)0x00004000) 04659 #define RCC_APB2ENR_EXTIEN_MORT ((uint32_t)0x00008000) 04660 #define RCC_APB2ENR_TIM9EN_MORT ((uint32_t)0x00010000) 04661 #define RCC_APB2ENR_TIM10EN_MORT ((uint32_t)0x00020000) 04662 #define RCC_APB2ENR_TIM11EN_MORT ((uint32_t)0x00040000) 04663 #define RCC_APB2ENR_SPI5EN_MORT ((uint32_t)0x00100000) 04664 #define RCC_APB2ENR_SPI6EN_MORT ((uint32_t)0x00200000) 04665 #define RCC_APB2ENR_SAI1EN_MORT ((uint32_t)0x00400000) 04666 #if defined(STM32F446xx_MORT) 04667 #define RCC_APB2ENR_SAI2EN_MORT ((uint32_t)0x00800000) 04668 #endif /* STM32F446xx_MORT */ 04669 #define RCC_APB2ENR_LTDCEN_MORT ((uint32_t)0x04000000) 04670 #if defined(STM32F469_479xx) 04671 #define RCC_APB2ENR_DSIEN_MORT ((uint32_t)0x08000000) 04672 #endif /* STM32F469_479xx */ 04673 #if defined(STM32F412xG) || defined(STM32F413_423xx) 04674 #define RCC_APB2ENR_DFSDM1EN_MORT ((uint32_t)0x01000000) 04675 #endif /* STM32F412xG || STM32F413_423xx */ 04676 #if defined(STM32F413_423xx) 04677 #define RCC_APB2ENR_DFSDM2EN_MORT ((uint32_t)0x02000000) 04678 #endif /* STM32F413_423xx */ 04679 /******************** Bit definition for RCC_AHB1LPENR register *************/ 04680 #define RCC_AHB1LPENR_GPIOALPEN_MORT ((uint32_t)0x00000001) 04681 #define RCC_AHB1LPENR_GPIOBLPEN_MORT ((uint32_t)0x00000002) 04682 #define RCC_AHB1LPENR_GPIOCLPEN_MORT ((uint32_t)0x00000004) 04683 #define RCC_AHB1LPENR_GPIODLPEN_MORT ((uint32_t)0x00000008) 04684 #define RCC_AHB1LPENR_GPIOELPEN_MORT ((uint32_t)0x00000010) 04685 #define RCC_AHB1LPENR_GPIOFLPEN_MORT ((uint32_t)0x00000020) 04686 #define RCC_AHB1LPENR_GPIOGLPEN_MORT ((uint32_t)0x00000040) 04687 #define RCC_AHB1LPENR_GPIOHLPEN_MORT ((uint32_t)0x00000080) 04688 #define RCC_AHB1LPENR_GPIOILPEN_MORT ((uint32_t)0x00000100) 04689 #define RCC_AHB1LPENR_GPIOJLPEN_MORT ((uint32_t)0x00000200) 04690 #define RCC_AHB1LPENR_GPIOKLPEN_MORT ((uint32_t)0x00000400) 04691 #define RCC_AHB1LPENR_CRCLPEN_MORT ((uint32_t)0x00001000) 04692 #define RCC_AHB1LPENR_FLITFLPEN_MORT ((uint32_t)0x00008000) 04693 #define RCC_AHB1LPENR_SRAM1LPEN_MORT ((uint32_t)0x00010000) 04694 #define RCC_AHB1LPENR_SRAM2LPEN_MORT ((uint32_t)0x00020000) 04695 #define RCC_AHB1LPENR_BKPSRAMLPEN_MORT ((uint32_t)0x00040000) 04696 #define RCC_AHB1LPENR_SRAM3LPEN_MORT ((uint32_t)0x00080000) 04697 #define RCC_AHB1LPENR_DMA1LPEN_MORT ((uint32_t)0x00200000) 04698 #define RCC_AHB1LPENR_DMA2LPEN_MORT ((uint32_t)0x00400000) 04699 #define RCC_AHB1LPENR_DMA2DLPEN_MORT ((uint32_t)0x00800000) 04700 #define RCC_AHB1LPENR_ETHMACLPEN_MORT ((uint32_t)0x02000000) 04701 #define RCC_AHB1LPENR_ETHMACTXLPEN_MORT ((uint32_t)0x04000000) 04702 #define RCC_AHB1LPENR_ETHMACRXLPEN_MORT ((uint32_t)0x08000000) 04703 #define RCC_AHB1LPENR_ETHMACPTPLPEN_MORT ((uint32_t)0x10000000) 04704 #define RCC_AHB1LPENR_OTGHSLPEN_MORT ((uint32_t)0x20000000) 04705 #define RCC_AHB1LPENR_OTGHSULPILPEN_MORT ((uint32_t)0x40000000) 04706 04707 /******************** Bit definition for RCC_AHB2LPENR register *************/ 04708 #define RCC_AHB2LPENR_DCMILPEN_MORT ((uint32_t)0x00000001) 04709 #define RCC_AHB2LPENR_CRYPLPEN_MORT ((uint32_t)0x00000010) 04710 #define RCC_AHB2LPENR_HASHLPEN_MORT ((uint32_t)0x00000020) 04711 #define RCC_AHB2LPENR_RNGLPEN_MORT ((uint32_t)0x00000040) 04712 #define RCC_AHB2LPENR_OTGFSLPEN_MORT ((uint32_t)0x00000080) 04713 04714 /******************** Bit definition for RCC_AHB3LPENR register *************/ 04715 #if defined(STM32F40_41xxx) || defined(STM32F412xG) || defined(STM32F413_423xx) 04716 #define RCC_AHB3LPENR_FSMCLPEN_MORT ((uint32_t)0x00000001) 04717 #endif /* STM32F40_41xxx || STM32F412xG || STM32F413_423xx */ 04718 04719 #if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04720 #define RCC_AHB3LPENR_FMCLPEN_MORT ((uint32_t)0x00000001) 04721 #endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx_MORT || STM32F469_479xx */ 04722 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04723 #define RCC_AHB3LPENR_QSPILPEN_MORT ((uint32_t)0x00000002) 04724 #endif /* STM32F412xG || STM32F413_423xx || STM32F469_479xx || STM32F446xx_MORT */ 04725 04726 /******************** Bit definition for RCC_APB1LPENR register *************/ 04727 #define RCC_APB1LPENR_TIM2LPEN_MORT ((uint32_t)0x00000001) 04728 #define RCC_APB1LPENR_TIM3LPEN_MORT ((uint32_t)0x00000002) 04729 #define RCC_APB1LPENR_TIM4LPEN_MORT ((uint32_t)0x00000004) 04730 #define RCC_APB1LPENR_TIM5LPEN_MORT ((uint32_t)0x00000008) 04731 #define RCC_APB1LPENR_TIM6LPEN_MORT ((uint32_t)0x00000010) 04732 #define RCC_APB1LPENR_TIM7LPEN_MORT ((uint32_t)0x00000020) 04733 #define RCC_APB1LPENR_TIM12LPEN_MORT ((uint32_t)0x00000040) 04734 #define RCC_APB1LPENR_TIM13LPEN_MORT ((uint32_t)0x00000080) 04735 #define RCC_APB1LPENR_TIM14LPEN_MORT ((uint32_t)0x00000100) 04736 #if defined(STM32F410xx) || defined(STM32F413_423xx) 04737 #define RCC_APB1LPENR_LPTIM1LPEN_MORT ((uint32_t)0x00000200) 04738 #endif /* STM32F410xx || STM32F413_423xx */ 04739 #define RCC_APB1LPENR_WWDGLPEN_MORT ((uint32_t)0x00000800) 04740 #define RCC_APB1LPENR_SPI2LPEN_MORT ((uint32_t)0x00004000) 04741 #define RCC_APB1LPENR_SPI3LPEN_MORT ((uint32_t)0x00008000) 04742 #if defined(STM32F446xx_MORT) 04743 #define RCC_APB1LPENR_SPDIFRXLPEN_MORT ((uint32_t)0x00010000) 04744 #endif /* STM32F446xx_MORT */ 04745 #define RCC_APB1LPENR_USART2LPEN_MORT ((uint32_t)0x00020000) 04746 #define RCC_APB1LPENR_USART3LPEN_MORT ((uint32_t)0x00040000) 04747 #define RCC_APB1LPENR_UART4LPEN_MORT ((uint32_t)0x00080000) 04748 #define RCC_APB1LPENR_UART5LPEN_MORT ((uint32_t)0x00100000) 04749 #define RCC_APB1LPENR_I2C1LPEN_MORT ((uint32_t)0x00200000) 04750 #define RCC_APB1LPENR_I2C2LPEN_MORT ((uint32_t)0x00400000) 04751 #define RCC_APB1LPENR_I2C3LPEN_MORT ((uint32_t)0x00800000) 04752 #if defined(STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 04753 #define RCC_APB1LPENR_FMPI2C1LPEN_MORT ((uint32_t)0x01000000) 04754 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 04755 #define RCC_APB1LPENR_CAN1LPEN_MORT ((uint32_t)0x02000000) 04756 #define RCC_APB1LPENR_CAN2LPEN_MORT ((uint32_t)0x04000000) 04757 #if defined(STM32F446xx_MORT) 04758 #define RCC_APB1LPENR_CECLPEN_MORT ((uint32_t)0x08000000) 04759 #endif /* STM32F446xx_MORT */ 04760 #define RCC_APB1LPENR_PWRLPEN_MORT ((uint32_t)0x10000000) 04761 #define RCC_APB1LPENR_DACLPEN_MORT ((uint32_t)0x20000000) 04762 #define RCC_APB1LPENR_UART7LPEN_MORT ((uint32_t)0x40000000) 04763 #define RCC_APB1LPENR_UART8LPEN_MORT ((uint32_t)0x80000000) 04764 04765 /******************** Bit definition for RCC_APB2LPENR register *************/ 04766 #define RCC_APB2LPENR_TIM1LPEN_MORT ((uint32_t)0x00000001) 04767 #define RCC_APB2LPENR_TIM8LPEN_MORT ((uint32_t)0x00000002) 04768 #define RCC_APB2LPENR_USART1LPEN_MORT ((uint32_t)0x00000010) 04769 #define RCC_APB2LPENR_USART6LPEN_MORT ((uint32_t)0x00000020) 04770 #define RCC_APB2LPENR_UART9LPEN_MORT ((uint32_t)0x00000040) 04771 #define RCC_APB2LPENR_UART10LPEN_MORT ((uint32_t)0x00000080) 04772 #define RCC_APB2LPENR_ADC1LPEN_MORT ((uint32_t)0x00000100) 04773 #define RCC_APB2LPENR_ADC2PEN_MORT ((uint32_t)0x00000200) 04774 #define RCC_APB2LPENR_ADC3LPEN_MORT ((uint32_t)0x00000400) 04775 #define RCC_APB2LPENR_SDIOLPEN_MORT ((uint32_t)0x00000800) 04776 #define RCC_APB2LPENR_SPI1LPEN_MORT ((uint32_t)0x00001000) 04777 #define RCC_APB2LPENR_SPI4LPEN_MORT ((uint32_t)0x00002000) 04778 #define RCC_APB2LPENR_SYSCFGLPEN_MORT ((uint32_t)0x00004000) 04779 #define RCC_APB2LPENR_TIM9LPEN_MORT ((uint32_t)0x00010000) 04780 #define RCC_APB2LPENR_TIM10LPEN_MORT ((uint32_t)0x00020000) 04781 #define RCC_APB2LPENR_TIM11LPEN_MORT ((uint32_t)0x00040000) 04782 #define RCC_APB2LPENR_SPI5LPEN_MORT ((uint32_t)0x00100000) 04783 #define RCC_APB2LPENR_SPI6LPEN_MORT ((uint32_t)0x00200000) 04784 #define RCC_APB2LPENR_SAI1LPEN_MORT ((uint32_t)0x00400000) 04785 #if defined(STM32F446xx_MORT) 04786 #define RCC_APB2LPENR_SAI2LPEN_MORT ((uint32_t)0x00800000) 04787 #endif /* STM32F446xx_MORT */ 04788 #define RCC_APB2LPENR_LTDCLPEN_MORT ((uint32_t)0x04000000) 04789 #if defined(STM32F469_479xx) 04790 04791 #endif /* STM32F469_479xx */ 04792 #if defined(STM32F412xG) || defined(STM32F413_423xx) 04793 04794 #endif /* STM32F412xG || STM32F413_423xx */ 04795 #if defined(STM32F413_423xx) 04796 04797 #endif /* STM32F413_423xx */ 04798 04799 /******************** Bit definition for RCC_BDCR register ******************/ 04800 #define RCC_BDCR_LSEON_MORT ((uint32_t)0x00000001) 04801 #define RCC_BDCR_LSERDY_MORT ((uint32_t)0x00000002) 04802 #define RCC_BDCR_LSEBYP_MORT ((uint32_t)0x00000004) 04803 #define RCC_BDCR_LSEMOD_MORT ((uint32_t)0x00000008) 04804 04805 #define RCC_BDCR_RTCSEL_MORT ((uint32_t)0x00000300) 04806 #define RCC_BDCR_RTCSEL_0_MORT ((uint32_t)0x00000100) 04807 #define RCC_BDCR_RTCSEL_1_MORT ((uint32_t)0x00000200) 04808 04809 #define RCC_BDCR_RTCEN_MORT ((uint32_t)0x00008000) 04810 #define RCC_BDCR_BDRST_MORT ((uint32_t)0x00010000) 04811 04812 /******************** Bit definition for RCC_CSR register *******************/ 04813 #define RCC_CSR_LSION_MORT ((uint32_t)0x00000001) 04814 #define RCC_CSR_LSIRDY_MORT ((uint32_t)0x00000002) 04815 #define RCC_CSR_RMVF_MORT ((uint32_t)0x01000000) 04816 #define RCC_CSR_BORRSTF_MORT ((uint32_t)0x02000000) 04817 #define RCC_CSR_PADRSTF_MORT ((uint32_t)0x04000000) 04818 #define RCC_CSR_PORRSTF_MORT ((uint32_t)0x08000000) 04819 #define RCC_CSR_SFTRSTF_MORT ((uint32_t)0x10000000) 04820 #define RCC_CSR_WDGRSTF_MORT ((uint32_t)0x20000000) 04821 #define RCC_CSR_WWDGRSTF_MORT ((uint32_t)0x40000000) 04822 #define RCC_CSR_LPWRRSTF_MORT ((uint32_t)0x80000000) 04823 04824 /******************** Bit definition for RCC_SSCGR register *****************/ 04825 #define RCC_SSCGR_MODPER_MORT ((uint32_t)0x00001FFF) 04826 #define RCC_SSCGR_INCSTEP_MORT ((uint32_t)0x0FFFE000) 04827 #define RCC_SSCGR_SPREADSEL_MORT ((uint32_t)0x40000000) 04828 #define RCC_SSCGR_SSCGEN_MORT ((uint32_t)0x80000000) 04829 04830 /******************** Bit definition for RCC_PLLI2SCFGR register ************/ 04831 #define RCC_PLLI2SCFGR_PLLI2SM_MORT ((uint32_t)0x0000003F) 04832 #define RCC_PLLI2SCFGR_PLLI2SM_0_MORT ((uint32_t)0x00000001) 04833 #define RCC_PLLI2SCFGR_PLLI2SM_1_MORT ((uint32_t)0x00000002) 04834 #define RCC_PLLI2SCFGR_PLLI2SM_2_MORT ((uint32_t)0x00000004) 04835 #define RCC_PLLI2SCFGR_PLLI2SM_3_MORT ((uint32_t)0x00000008) 04836 #define RCC_PLLI2SCFGR_PLLI2SM_4_MORT ((uint32_t)0x00000010) 04837 #define RCC_PLLI2SCFGR_PLLI2SM_5_MORT ((uint32_t)0x00000020) 04838 04839 #define RCC_PLLI2SCFGR_PLLI2SN_MORT ((uint32_t)0x00007FC0) 04840 #define RCC_PLLI2SCFGR_PLLI2SN_0_MORT ((uint32_t)0x00000040) 04841 #define RCC_PLLI2SCFGR_PLLI2SN_1_MORT ((uint32_t)0x00000080) 04842 #define RCC_PLLI2SCFGR_PLLI2SN_2_MORT ((uint32_t)0x00000100) 04843 #define RCC_PLLI2SCFGR_PLLI2SN_3_MORT ((uint32_t)0x00000200) 04844 #define RCC_PLLI2SCFGR_PLLI2SN_4_MORT ((uint32_t)0x00000400) 04845 #define RCC_PLLI2SCFGR_PLLI2SN_5_MORT ((uint32_t)0x00000800) 04846 #define RCC_PLLI2SCFGR_PLLI2SN_6_MORT ((uint32_t)0x00001000) 04847 #define RCC_PLLI2SCFGR_PLLI2SN_7_MORT ((uint32_t)0x00002000) 04848 #define RCC_PLLI2SCFGR_PLLI2SN_8_MORT ((uint32_t)0x00004000) 04849 04850 #if defined(STM32F412xG) || defined(STM32F413_423xx) 04851 04852 #endif /* STM32F412xG || STM32F413_423xx */ 04853 04854 #if defined(STM32F446xx_MORT) 04855 #define RCC_PLLI2SCFGR_PLLI2SP_MORT ((uint32_t)0x00030000) 04856 #define RCC_PLLI2SCFGR_PLLI2SP_0_MORT ((uint32_t)0x00010000) 04857 #define RCC_PLLI2SCFGR_PLLI2SP_1_MORT ((uint32_t)0x00020000) 04858 #endif /* STM32F446xx_MORT */ 04859 04860 #define RCC_PLLI2SCFGR_PLLI2SQ_MORT ((uint32_t)0x0F000000) 04861 #define RCC_PLLI2SCFGR_PLLI2SQ_0_MORT ((uint32_t)0x01000000) 04862 #define RCC_PLLI2SCFGR_PLLI2SQ_1_MORT ((uint32_t)0x02000000) 04863 #define RCC_PLLI2SCFGR_PLLI2SQ_2_MORT ((uint32_t)0x04000000) 04864 #define RCC_PLLI2SCFGR_PLLI2SQ_3_MORT ((uint32_t)0x08000000) 04865 04866 #define RCC_PLLI2SCFGR_PLLI2SR_MORT ((uint32_t)0x70000000) 04867 #define RCC_PLLI2SCFGR_PLLI2SR_0_MORT ((uint32_t)0x10000000) 04868 #define RCC_PLLI2SCFGR_PLLI2SR_1_MORT ((uint32_t)0x20000000) 04869 #define RCC_PLLI2SCFGR_PLLI2SR_2_MORT ((uint32_t)0x40000000) 04870 04871 /******************** Bit definition for RCC_PLLSAICFGR register ************/ 04872 #if defined(STM32F446xx_MORT) 04873 #define RCC_PLLSAICFGR_PLLSAIM_MORT ((uint32_t)0x0000003F) 04874 #define RCC_PLLSAICFGR_PLLSAIM_0_MORT ((uint32_t)0x00000001) 04875 #define RCC_PLLSAICFGR_PLLSAIM_1_MORT ((uint32_t)0x00000002) 04876 #define RCC_PLLSAICFGR_PLLSAIM_2_MORT ((uint32_t)0x00000004) 04877 #define RCC_PLLSAICFGR_PLLSAIM_3_MORT ((uint32_t)0x00000008) 04878 #define RCC_PLLSAICFGR_PLLSAIM_4_MORT ((uint32_t)0x00000010) 04879 #define RCC_PLLSAICFGR_PLLSAIM_5_MORT ((uint32_t)0x00000020) 04880 #endif /* STM32F446xx_MORT */ 04881 04882 #define RCC_PLLSAICFGR_PLLSAIN_MORT ((uint32_t)0x00007FC0) 04883 #define RCC_PLLSAICFGR_PLLSAIN_0_MORT ((uint32_t)0x00000040) 04884 #define RCC_PLLSAICFGR_PLLSAIN_1_MORT ((uint32_t)0x00000080) 04885 #define RCC_PLLSAICFGR_PLLSAIN_2_MORT ((uint32_t)0x00000100) 04886 #define RCC_PLLSAICFGR_PLLSAIN_3_MORT ((uint32_t)0x00000200) 04887 #define RCC_PLLSAICFGR_PLLSAIN_4_MORT ((uint32_t)0x00000400) 04888 #define RCC_PLLSAICFGR_PLLSAIN_5_MORT ((uint32_t)0x00000800) 04889 #define RCC_PLLSAICFGR_PLLSAIN_6_MORT ((uint32_t)0x00001000) 04890 #define RCC_PLLSAICFGR_PLLSAIN_7_MORT ((uint32_t)0x00002000) 04891 #define RCC_PLLSAICFGR_PLLSAIN_8_MORT ((uint32_t)0x00004000) 04892 04893 #if defined(STM32F446xx_MORT) || defined(STM32F469_479xx) 04894 #define RCC_PLLSAICFGR_PLLSAIP_MORT ((uint32_t)0x00030000) 04895 #define RCC_PLLSAICFGR_PLLSAIP_0_MORT ((uint32_t)0x00010000) 04896 #define RCC_PLLSAICFGR_PLLSAIP_1_MORT ((uint32_t)0x00020000) 04897 #endif /* STM32F446xx_MORT || STM32F469_479xx */ 04898 04899 #define RCC_PLLSAICFGR_PLLSAIQ_MORT ((uint32_t)0x0F000000) 04900 #define RCC_PLLSAICFGR_PLLSAIQ_0_MORT ((uint32_t)0x01000000) 04901 #define RCC_PLLSAICFGR_PLLSAIQ_1_MORT ((uint32_t)0x02000000) 04902 #define RCC_PLLSAICFGR_PLLSAIQ_2_MORT ((uint32_t)0x04000000) 04903 #define RCC_PLLSAICFGR_PLLSAIQ_3_MORT ((uint32_t)0x08000000) 04904 04905 #define RCC_PLLSAICFGR_PLLSAIR_MORT ((uint32_t)0x70000000) 04906 #define RCC_PLLSAICFGR_PLLSAIR_0_MORT ((uint32_t)0x10000000) 04907 #define RCC_PLLSAICFGR_PLLSAIR_1_MORT ((uint32_t)0x20000000) 04908 #define RCC_PLLSAICFGR_PLLSAIR_2_MORT ((uint32_t)0x40000000) 04909 04910 /******************** Bit definition for RCC_DCKCFGR register ***************/ 04911 #define RCC_DCKCFGR_PLLI2SDIVQ_MORT ((uint32_t)0x0000001F) 04912 #define RCC_DCKCFGR_PLLSAIDIVQ_MORT ((uint32_t)0x00001F00) 04913 #define RCC_DCKCFGR_PLLSAIDIVR_MORT ((uint32_t)0x00030000) 04914 04915 #if defined(STM32F412xG) || defined(STM32F413_423xx) 04916 04917 #endif /* STM32F412xG || STM32F413_423xx */ 04918 04919 #if defined(STM32F413_423xx) 04920 04921 #endif /* STM32F413_423xx */ 04922 04923 #define RCC_DCKCFGR_SAI1ASRC_MORT ((uint32_t)0x00300000) 04924 #define RCC_DCKCFGR_SAI1ASRC_0_MORT ((uint32_t)0x00100000) 04925 #define RCC_DCKCFGR_SAI1ASRC_1_MORT ((uint32_t)0x00200000) 04926 #if defined(STM32F446xx_MORT) 04927 #define RCC_DCKCFGR_SAI1SRC_MORT ((uint32_t)0x00300000) 04928 #define RCC_DCKCFGR_SAI1SRC_0_MORT ((uint32_t)0x00100000) 04929 #define RCC_DCKCFGR_SAI1SRC_1_MORT ((uint32_t)0x00200000) 04930 #endif /* STM32F446xx_MORT */ 04931 04932 #define RCC_DCKCFGR_SAI1BSRC_MORT ((uint32_t)0x00C00000) 04933 #define RCC_DCKCFGR_SAI1BSRC_0_MORT ((uint32_t)0x00400000) 04934 #define RCC_DCKCFGR_SAI1BSRC_1_MORT ((uint32_t)0x00800000) 04935 #if defined(STM32F446xx_MORT) 04936 #define RCC_DCKCFGR_SAI2SRC_MORT ((uint32_t)0x00C00000) 04937 #define RCC_DCKCFGR_SAI2SRC_0_MORT ((uint32_t)0x00400000) 04938 #define RCC_DCKCFGR_SAI2SRC_1_MORT ((uint32_t)0x00800000) 04939 #endif /* STM32F446xx_MORT */ 04940 04941 #define RCC_DCKCFGR_TIMPRE_MORT ((uint32_t)0x01000000) 04942 #if defined(STM32F469_479xx) 04943 04944 #endif /* STM32F469_479xx */ 04945 04946 #if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 04947 #define RCC_DCKCFGR_I2S1SRC_MORT ((uint32_t)0x06000000) 04948 #define RCC_DCKCFGR_I2S1SRC_0_MORT ((uint32_t)0x02000000) 04949 #define RCC_DCKCFGR_I2S1SRC_1_MORT ((uint32_t)0x04000000) 04950 #define RCC_DCKCFGR_I2S2SRC_MORT ((uint32_t)0x18000000) 04951 #define RCC_DCKCFGR_I2S2SRC_0_MORT ((uint32_t)0x08000000) 04952 #define RCC_DCKCFGR_I2S2SRC_1_MORT ((uint32_t)0x10000000) 04953 04954 /******************** Bit definition for RCC_CKGATENR register ***************/ 04955 #define RCC_CKGATENR_AHB2APB1_CKEN_MORT ((uint32_t)0x00000001) 04956 #define RCC_CKGATENR_AHB2APB2_CKEN_MORT ((uint32_t)0x00000002) 04957 #define RCC_CKGATENR_CM4DBG_CKEN_MORT ((uint32_t)0x00000004) 04958 #define RCC_CKGATENR_SPARE_CKEN_MORT ((uint32_t)0x00000008) 04959 #define RCC_CKGATENR_SRAM_CKEN_MORT ((uint32_t)0x00000010) 04960 #define RCC_CKGATENR_FLITF_CKEN_MORT ((uint32_t)0x00000020) 04961 #define RCC_CKGATENR_RCC_CKEN_MORT ((uint32_t)0x00000040) 04962 #if defined(STM32F412xG) || defined(STM32F413_423xx) 04963 04964 #endif /* STM32F412xG || STM32F413_423xx */ 04965 04966 /******************** Bit definition for RCC_DCKCFGR2 register ***************/ 04967 #define RCC_DCKCFGR2_FMPI2C1SEL_MORT ((uint32_t)0x00C00000) 04968 #define RCC_DCKCFGR2_FMPI2C1SEL_0_MORT ((uint32_t)0x00400000) 04969 #define RCC_DCKCFGR2_FMPI2C1SEL_1_MORT ((uint32_t)0x00800000) 04970 #define RCC_DCKCFGR2_CECSEL_MORT ((uint32_t)0x04000000) 04971 #define RCC_DCKCFGR2_CK48MSEL_MORT ((uint32_t)0x08000000) 04972 #define RCC_DCKCFGR2_SDIOSEL_MORT ((uint32_t)0x10000000) 04973 #if defined(STM32F446xx_MORT) 04974 #define RCC_DCKCFGR2_SPDIFRXSEL_MORT ((uint32_t)0x20000000) 04975 #endif /* STM32F446xx_MORT */ 04976 #if defined(STM32F413_423xx) 04977 04978 #endif /* STM32F413_423xx */ 04979 #endif /* STM32F412xG || STM32F413_423xx || STM32F446xx_MORT */ 04980 04981 #if defined(STM32F410xx) 04982 04983 #endif /* STM32F410xx */ 04984 04985 #if defined(STM32F410xx) 04986 /******************** Bit definition for RCC_DCKCFGR2 register **************/ 04987 04988 #endif /* STM32F410xx */ 04989 /******************************************************************************/ 04990 /* */ 04991 /* RNG_MORT */ 04992 /* */ 04993 /******************************************************************************/ 04994 /******************** Bits definition for RNG_CR register *******************/ 04995 #define RNG_CR_RNGEN_MORT ((uint32_t)0x00000004) 04996 #define RNG_CR_IE_MORT ((uint32_t)0x00000008) 04997 04998 /******************** Bits definition for RNG_SR register *******************/ 04999 #define RNG_SR_DRDY_MORT ((uint32_t)0x00000001) 05000 #define RNG_SR_CECS_MORT ((uint32_t)0x00000002) 05001 #define RNG_SR_SECS_MORT ((uint32_t)0x00000004) 05002 #define RNG_SR_CEIS_MORT ((uint32_t)0x00000020) 05003 #define RNG_SR_SEIS_MORT ((uint32_t)0x00000040) 05004 05005 /******************************************************************************/ 05006 /* */ 05007 /* Real-Time Clock (RTC_MORT) */ 05008 /* */ 05009 /******************************************************************************/ 05010 /******************** Bits definition for RTC_TR register *******************/ 05011 05012 05013 /******************** Bits definition for RTC_DR register *******************/ 05014 05015 05016 /******************** Bits definition for RTC_CR register *******************/ 05017 05018 05019 /******************** Bits definition for RTC_ISR register ******************/ 05020 05021 05022 /******************** Bits definition for RTC_PRER register *****************/ 05023 05024 05025 /******************** Bits definition for RTC_WUTR register *****************/ 05026 05027 /******************** Bits definition for RTC_CALIBR register ***************/ 05028 05029 05030 /******************** Bits definition for RTC_ALRMAR register ***************/ 05031 05032 /******************** Bits definition for RTC_ALRMBR register ***************/ 05033 05034 /******************** Bits definition for RTC_WPR register ******************/ 05035 05036 05037 /******************** Bits definition for RTC_SSR register ******************/ 05038 05039 05040 /******************** Bits definition for RTC_SHIFTR register ***************/ 05041 05042 05043 /******************** Bits definition for RTC_TSTR register *****************/ 05044 05045 05046 /******************** Bits definition for RTC_TSDR register *****************/ 05047 05048 /******************** Bits definition for RTC_TSSSR register ****************/ 05049 05050 05051 /******************** Bits definition for RTC_CAL register *****************/ 05052 05053 /******************** Bits definition for RTC_TAFCR register ****************/ 05054 05055 /******************** Bits definition for RTC_ALRMASSR register *************/ 05056 05057 /******************** Bits definition for RTC_ALRMBSSR register *************/ 05058 05059 /******************** Bits definition for RTC_BKP0R register ****************/ 05060 05061 /******************** Bits definition for RTC_BKP1R register ****************/ 05062 05063 /******************** Bits definition for RTC_BKP2R register ****************/ 05064 05065 /******************** Bits definition for RTC_BKP3R register ****************/ 05066 05067 /******************** Bits definition for RTC_BKP4R register ****************/ 05068 05069 /******************** Bits definition for RTC_BKP5R register ****************/ 05070 05071 /******************** Bits definition for RTC_BKP6R register ****************/ 05072 05073 /******************** Bits definition for RTC_BKP7R register ****************/ 05074 05075 /******************** Bits definition for RTC_BKP8R register ****************/ 05076 05077 05078 /******************** Bits definition for RTC_BKP9R register ****************/ 05079 05080 05081 /******************** Bits definition for RTC_BKP10R register ***************/ 05082 05083 /******************** Bits definition for RTC_BKP11R register ***************/ 05084 05085 /******************** Bits definition for RTC_BKP12R register ***************/ 05086 05087 /******************** Bits definition for RTC_BKP13R register ***************/ 05088 05089 /******************** Bits definition for RTC_BKP14R register ***************/ 05090 05091 /******************** Bits definition for RTC_BKP15R register ***************/ 05092 05093 /******************** Bits definition for RTC_BKP16R register ***************/ 05094 05095 05096 /******************** Bits definition for RTC_BKP17R register ***************/ 05097 05098 /******************** Bits definition for RTC_BKP18R register ***************/ 05099 05100 /******************** Bits definition for RTC_BKP19R register ***************/ 05101 05102 /******************************************************************************/ 05103 /* */ 05104 /* Serial Audio Interface */ 05105 /* */ 05106 /******************************************************************************/ 05107 /******************** Bit definition for SAI_GCR register *******************/ 05108 05109 /******************* Bit definition for SAI_xCR1 register *******************/ 05110 05111 /******************* Bit definition for SAI_xCR2 register *******************/ 05112 05113 /****************** Bit definition for SAI_xFRCR register *******************/ 05114 05115 05116 /****************** Bit definition for SAI_xSLOTR register *******************/ 05117 05118 /******************* Bit definition for SAI_xIMR register *******************/ 05119 05120 /******************** Bit definition for SAI_xSR register *******************/ 05121 05122 /****************** Bit definition for SAI_xCLRFR register ******************/ 05123 05124 /****************** Bit definition for SAI_xDR register ******************/ 05125 05126 05127 #if defined(STM32F446xx_MORT) 05128 /******************************************************************************/ 05129 /* */ 05130 /* SPDIF-RX Interface */ 05131 /* */ 05132 /******************************************************************************/ 05133 /******************** Bit definition for SPDIFRX_CR register *******************/ 05134 05135 /******************* Bit definition for SPDIFRX_IMR register *******************/ 05136 05137 /******************* Bit definition for SPDIFRX_SR register *******************/ 05138 05139 /******************* Bit definition for SPDIFRX_IFCR register *******************/ 05140 05141 /******************* Bit definition for SPDIFRX_DR register (DRFMT = 0b00 case) *******************/ 05142 05143 /******************* Bit definition for SPDIFRX_DR register (DRFMT = 0b01 case) *******************/ 05144 05145 /******************* Bit definition for SPDIFRX_DR register (DRFMT = 0b10 case) *******************/ 05146 05147 /******************* Bit definition for SPDIFRX_CSR register *******************/ 05148 05149 /******************* Bit definition for SPDIFRX_DIR register *******************/ 05150 05151 #endif /* STM32F446xx_MORT */ 05152 05153 /******************************************************************************/ 05154 /* */ 05155 /* SD host Interface */ 05156 /* */ 05157 /******************************************************************************/ 05158 /****************** Bit definition for SDIO_POWER register ******************/ 05159 05160 /****************** Bit definition for SDIO_CLKCR register ******************/ 05161 05162 /******************* Bit definition for SDIO_ARG register *******************/ 05163 05164 /******************* Bit definition for SDIO_CMD register *******************/ 05165 05166 /***************** Bit definition for SDIO_RESPCMD register *****************/ 05167 05168 /****************** Bit definition for SDIO_RESP0 register ******************/ 05169 05170 /****************** Bit definition for SDIO_RESP1 register ******************/ 05171 05172 /****************** Bit definition for SDIO_RESP2 register ******************/ 05173 05174 /****************** Bit definition for SDIO_RESP3 register ******************/ 05175 05176 /****************** Bit definition for SDIO_RESP4 register ******************/ 05177 05178 /****************** Bit definition for SDIO_DTIMER register *****************/ 05179 05180 /****************** Bit definition for SDIO_DLEN register *******************/ 05181 05182 /****************** Bit definition for SDIO_DCTRL register ******************/ 05183 05184 /****************** Bit definition for SDIO_DCOUNT register *****************/ 05185 05186 /****************** Bit definition for SDIO_STA register ********************/ 05187 05188 /******************* Bit definition for SDIO_ICR register *******************/ 05189 05190 05191 /****************** Bit definition for SDIO_MASK register *******************/ 05192 05193 /***************** Bit definition for SDIO_FIFOCNT register *****************/ 05194 05195 /****************** Bit definition for SDIO_FIFO register *******************/ 05196 05197 /******************************************************************************/ 05198 /* */ 05199 /* Serial Peripheral Interface */ 05200 /* */ 05201 /******************************************************************************/ 05202 /******************* Bit definition for SPI_CR1 register ********************/ 05203 #define SPI_CR1_CPHA_MORT ((uint16_t)0x0001) /*!<Clock Phase */ 05204 #define SPI_CR1_CPOL_MORT ((uint16_t)0x0002) /*!<Clock Polarity */ 05205 #define SPI_CR1_MSTR_MORT ((uint16_t)0x0004) /*!<Master Selection */ 05206 05207 #define SPI_CR1_BR_MORT ((uint16_t)0x0038) /*!<BR[2:0] bits (Baud Rate Control) */ 05208 #define SPI_CR1_BR_0_MORT ((uint16_t)0x0008) /*!<Bit 0 */ 05209 #define SPI_CR1_BR_1_MORT ((uint16_t)0x0010) /*!<Bit 1 */ 05210 #define SPI_CR1_BR_2_MORT ((uint16_t)0x0020) /*!<Bit 2 */ 05211 05212 #define SPI_CR1_SPE_MORT ((uint16_t)0x0040) /*!<SPI Enable */ 05213 #define SPI_CR1_LSBFIRST_MORT ((uint16_t)0x0080) /*!<Frame Format */ 05214 #define SPI_CR1_SSI_MORT ((uint16_t)0x0100) /*!<Internal slave select */ 05215 #define SPI_CR1_SSM_MORT ((uint16_t)0x0200) /*!<Software slave management */ 05216 #define SPI_CR1_RXONLY_MORT ((uint16_t)0x0400) /*!<Receive only */ 05217 #define SPI_CR1_DFF_MORT ((uint16_t)0x0800) /*!<Data Frame Format */ 05218 #define SPI_CR1_CRCNEXT_MORT ((uint16_t)0x1000) /*!<Transmit CRC_MORT next */ 05219 #define SPI_CR1_CRCEN_MORT ((uint16_t)0x2000) /*!<Hardware CRC_MORT calculation enable */ 05220 #define SPI_CR1_BIDIOE_MORT ((uint16_t)0x4000) /*!<Output enable in bidirectional mode */ 05221 #define SPI_CR1_BIDIMODE_MORT ((uint16_t)0x8000) /*!<Bidirectional data mode enable */ 05222 05223 /******************* Bit definition for SPI_CR2 register ********************/ 05224 #define SPI_CR2_RXDMAEN_MORT ((uint8_t)0x01) /*!<Rx Buffer DMA Enable */ 05225 #define SPI_CR2_TXDMAEN_MORT ((uint8_t)0x02) /*!<Tx Buffer DMA Enable */ 05226 #define SPI_CR2_SSOE_MORT ((uint8_t)0x04) /*!<SS Output Enable */ 05227 #define SPI_CR2_ERRIE_MORT ((uint8_t)0x20) /*!<Error Interrupt Enable */ 05228 #define SPI_CR2_RXNEIE_MORT ((uint8_t)0x40) /*!<RX buffer Not Empty Interrupt Enable */ 05229 #define SPI_CR2_TXEIE_MORT ((uint8_t)0x80) /*!<Tx buffer Empty Interrupt Enable */ 05230 05231 /******************** Bit definition for SPI_SR register ********************/ 05232 #define SPI_SR_RXNE_MORT ((uint8_t)0x01) /*!<Receive buffer Not Empty */ 05233 #define SPI_SR_TXE_MORT ((uint8_t)0x02) /*!<Transmit buffer Empty */ 05234 #define SPI_SR_CHSIDE_MORT ((uint8_t)0x04) /*!<Channel side */ 05235 #define SPI_SR_UDR_MORT ((uint8_t)0x08) /*!<Underrun flag */ 05236 #define SPI_SR_CRCERR_MORT ((uint8_t)0x10) /*!<CRC_MORT Error flag */ 05237 #define SPI_SR_MODF_MORT ((uint8_t)0x20) /*!<Mode fault */ 05238 #define SPI_SR_OVR_MORT ((uint8_t)0x40) /*!<Overrun flag */ 05239 #define SPI_SR_BSY_MORT ((uint8_t)0x80) /*!<Busy flag */ 05240 05241 /******************** Bit definition for SPI_DR register ********************/ 05242 #define SPI_DR_DR_MORT ((uint16_t)0xFFFF) /*!<Data Register */ 05243 05244 /******************* Bit definition for SPI_CRCPR register ******************/ 05245 #define SPI_CRCPR_CRCPOLY_MORT ((uint16_t)0xFFFF) /*!<CRC_MORT polynomial register */ 05246 05247 /****************** Bit definition for SPI_RXCRCR register ******************/ 05248 #define SPI_RXCRCR_RXCRC_MORT ((uint16_t)0xFFFF) /*!<Rx CRC_MORT Register */ 05249 05250 /****************** Bit definition for SPI_TXCRCR register ******************/ 05251 #define SPI_TXCRCR_TXCRC_MORT ((uint16_t)0xFFFF) /*!<Tx CRC_MORT Register */ 05252 05253 /****************** Bit definition for SPI_I2SCFGR register *****************/ 05254 #define SPI_I2SCFGR_CHLEN_MORT ((uint16_t)0x0001) /*!<Channel length (number of bits per audio channel) */ 05255 05256 #define SPI_I2SCFGR_DATLEN_MORT ((uint16_t)0x0006) /*!<DATLEN[1:0] bits (Data length to be transferred) */ 05257 #define SPI_I2SCFGR_DATLEN_0_MORT ((uint16_t)0x0002) /*!<Bit 0 */ 05258 #define SPI_I2SCFGR_DATLEN_1_MORT ((uint16_t)0x0004) /*!<Bit 1 */ 05259 05260 #define SPI_I2SCFGR_CKPOL_MORT ((uint16_t)0x0008) /*!<steady state clock polarity */ 05261 05262 #define SPI_I2SCFGR_I2SSTD_MORT ((uint16_t)0x0030) /*!<I2SSTD[1:0] bits (I2S standard selection) */ 05263 #define SPI_I2SCFGR_I2SSTD_0_MORT ((uint16_t)0x0010) /*!<Bit 0 */ 05264 #define SPI_I2SCFGR_I2SSTD_1_MORT ((uint16_t)0x0020) /*!<Bit 1 */ 05265 05266 #define SPI_I2SCFGR_PCMSYNC_MORT ((uint16_t)0x0080) /*!<PCM frame synchronization */ 05267 05268 #define SPI_I2SCFGR_I2SCFG_MORT ((uint16_t)0x0300) /*!<I2SCFG[1:0] bits (I2S configuration mode) */ 05269 #define SPI_I2SCFGR_I2SCFG_0_MORT ((uint16_t)0x0100) /*!<Bit 0 */ 05270 #define SPI_I2SCFGR_I2SCFG_1_MORT ((uint16_t)0x0200) /*!<Bit 1 */ 05271 05272 #define SPI_I2SCFGR_I2SE_MORT ((uint16_t)0x0400) /*!<I2S Enable */ 05273 #define SPI_I2SCFGR_I2SMOD_MORT ((uint16_t)0x0800) /*!<I2S mode selection */ 05274 #if defined(STM32F413_423xx) || defined(STM32F446xx_MORT) 05275 #define SPI_I2SCFGR_ASTRTEN_MORT ((uint16_t)0x1000) /*!<Asynchronous start enable */ 05276 #endif /* STM32F413_423xx */ 05277 05278 /****************** Bit definition for SPI_I2SPR register *******************/ 05279 #define SPI_I2SPR_I2SDIV_MORT ((uint16_t)0x00FF) /*!<I2S Linear prescaler */ 05280 #define SPI_I2SPR_ODD_MORT ((uint16_t)0x0100) /*!<Odd factor for the prescaler */ 05281 #define SPI_I2SPR_MCKOE_MORT ((uint16_t)0x0200) /*!<Master Clock Output Enable */ 05282 05283 /******************************************************************************/ 05284 /* */ 05285 /* SYSCFG_MORT */ 05286 /* */ 05287 /******************************************************************************/ 05288 /****************** Bit definition for SYSCFG_MEMRMP register ***************/ 05289 05290 /****************** Bit definition for SYSCFG_PMC register ******************/ 05291 05292 05293 /***************** Bit definition for SYSCFG_EXTICR1 register ***************/ 05294 05295 /** 05296 * @brief EXTI0 configuration 05297 */ 05298 05299 05300 /** 05301 * @brief EXTI1 configuration 05302 */ 05303 05304 05305 /** 05306 * @brief EXTI2 configuration 05307 */ 05308 05309 05310 05311 /** 05312 * @brief EXTI3 configuration 05313 */ 05314 05315 05316 /***************** Bit definition for SYSCFG_EXTICR2 register ***************/ 05317 05318 /** 05319 * @brief EXTI4 configuration 05320 */ 05321 05322 05323 /** 05324 * @brief EXTI5 configuration 05325 */ 05326 05327 05328 /** 05329 * @brief EXTI6 configuration 05330 */ 05331 05332 05333 /** 05334 * @brief EXTI7 configuration 05335 */ 05336 05337 05338 /***************** Bit definition for SYSCFG_EXTICR3 register ***************/ 05339 05340 /** 05341 * @brief EXTI8 configuration 05342 */ 05343 05344 05345 /** 05346 * @brief EXTI9 configuration 05347 */ 05348 05349 05350 /** 05351 * @brief EXTI10 configuration 05352 */ 05353 05354 05355 /** 05356 * @brief EXTI11 configuration 05357 */ 05358 05359 05360 /***************** Bit definition for SYSCFG_EXTICR4 register ***************/ 05361 05362 /** 05363 * @brief EXTI12 configuration 05364 */ 05365 05366 05367 /** 05368 * @brief EXTI13 configuration 05369 */ 05370 05371 05372 /** 05373 * @brief EXTI14 configuration 05374 */ 05375 05376 /** 05377 * @brief EXTI15 configuration 05378 */ 05379 05380 05381 #if defined(STM32F412xG) || defined(STM32F413_423xx) 05382 /****************** Bit definition for SYSCFG_CFGR register *****************/ 05383 05384 #endif /* STM32F412xG || STM32413_423xx */ 05385 05386 #if defined (STM32F410xx) || defined(STM32F412xG) || defined(STM32F413_423xx) 05387 /****************** Bit definition for SYSCFG_CFGR2 register ****************/ 05388 05389 #endif /* STM32F410xx || STM32F412xG || STM32F413_423xx */ 05390 /****************** Bit definition for SYSCFG_CMPCR register ****************/ 05391 05392 #if defined(STM32F413_423xx) 05393 /****************** Bit definition for SYSCFG_MCHDLYCR register *****************/ 05394 05395 #endif /* STM32F413_423xx */ 05396 05397 /******************************************************************************/ 05398 /* */ 05399 /* TIM */ 05400 /* */ 05401 /******************************************************************************/ 05402 /******************* Bit definition for TIM_CR1 register ********************/ 05403 #define TIM_CR1_CEN_MORT ((uint16_t)0x0001) /*!<Counter enable */ 05404 #define TIM_CR1_UDIS_MORT ((uint16_t)0x0002) /*!<Update disable */ 05405 #define TIM_CR1_URS_MORT ((uint16_t)0x0004) /*!<Update request source */ 05406 #define TIM_CR1_OPM_MORT ((uint16_t)0x0008) /*!<One pulse mode */ 05407 #define TIM_CR1_DIR_MORT ((uint16_t)0x0010) /*!<Direction */ 05408 05409 #define TIM_CR1_CMS_MORT ((uint16_t)0x0060) /*!<CMS[1:0] bits (Center-aligned mode selection) */ 05410 #define TIM_CR1_CMS_0_MORT ((uint16_t)0x0020) /*!<Bit 0 */ 05411 #define TIM_CR1_CMS_1_MORT ((uint16_t)0x0040) /*!<Bit 1 */ 05412 05413 #define TIM_CR1_ARPE_MORT ((uint16_t)0x0080) /*!<Auto-reload preload enable */ 05414 05415 #define TIM_CR1_CKD_MORT ((uint16_t)0x0300) /*!<CKD[1:0] bits (clock division) */ 05416 #define TIM_CR1_CKD_0_MORT ((uint16_t)0x0100) /*!<Bit 0 */ 05417 #define TIM_CR1_CKD_1_MORT ((uint16_t)0x0200) /*!<Bit 1 */ 05418 05419 /******************* Bit definition for TIM_CR2 register ********************/ 05420 #define TIM_CR2_CCPC_MORT ((uint16_t)0x0001) /*!<Capture/Compare Preloaded Control */ 05421 #define TIM_CR2_CCUS_MORT ((uint16_t)0x0004) /*!<Capture/Compare Control Update Selection */ 05422 #define TIM_CR2_CCDS_MORT ((uint16_t)0x0008) /*!<Capture/Compare DMA Selection */ 05423 05424 #define TIM_CR2_MMS_MORT ((uint16_t)0x0070) /*!<MMS[2:0] bits (Master Mode Selection) */ 05425 #define TIM_CR2_MMS_0_MORT ((uint16_t)0x0010) /*!<Bit 0 */ 05426 #define TIM_CR2_MMS_1_MORT ((uint16_t)0x0020) /*!<Bit 1 */ 05427 #define TIM_CR2_MMS_2_MORT ((uint16_t)0x0040) /*!<Bit 2 */ 05428 05429 #define TIM_CR2_TI1S_MORT ((uint16_t)0x0080) /*!<TI1 Selection */ 05430 #define TIM_CR2_OIS1_MORT ((uint16_t)0x0100) /*!<Output Idle state 1 (OC1 output) */ 05431 #define TIM_CR2_OIS1N_MORT ((uint16_t)0x0200) /*!<Output Idle state 1 (OC1N output) */ 05432 #define TIM_CR2_OIS2_MORT ((uint16_t)0x0400) /*!<Output Idle state 2 (OC2 output) */ 05433 #define TIM_CR2_OIS2N_MORT ((uint16_t)0x0800) /*!<Output Idle state 2 (OC2N output) */ 05434 #define TIM_CR2_OIS3_MORT ((uint16_t)0x1000) /*!<Output Idle state 3 (OC3 output) */ 05435 #define TIM_CR2_OIS3N_MORT ((uint16_t)0x2000) /*!<Output Idle state 3 (OC3N output) */ 05436 #define TIM_CR2_OIS4_MORT ((uint16_t)0x4000) /*!<Output Idle state 4 (OC4 output) */ 05437 05438 /******************* Bit definition for TIM_SMCR register *******************/ 05439 #define TIM_SMCR_SMS_MORT ((uint16_t)0x0007) /*!<SMS[2:0] bits (Slave mode selection) */ 05440 #define TIM_SMCR_SMS_0_MORT ((uint16_t)0x0001) /*!<Bit 0 */ 05441 #define TIM_SMCR_SMS_1_MORT ((uint16_t)0x0002) /*!<Bit 1 */ 05442 #define TIM_SMCR_SMS_2_MORT ((uint16_t)0x0004) /*!<Bit 2 */ 05443 05444 #define TIM_SMCR_TS_MORT ((uint16_t)0x0070) /*!<TS[2:0] bits (Trigger selection) */ 05445 #define TIM_SMCR_TS_0_MORT ((uint16_t)0x0010) /*!<Bit 0 */ 05446 #define TIM_SMCR_TS_1_MORT ((uint16_t)0x0020) /*!<Bit 1 */ 05447 #define TIM_SMCR_TS_2_MORT ((uint16_t)0x0040) /*!<Bit 2 */ 05448 05449 #define TIM_SMCR_MSM_MORT ((uint16_t)0x0080) /*!<Master/slave mode */ 05450 05451 #define TIM_SMCR_ETF_MORT ((uint16_t)0x0F00) /*!<ETF[3:0] bits (External trigger filter) */ 05452 #define TIM_SMCR_ETF_0_MORT ((uint16_t)0x0100) /*!<Bit 0 */ 05453 #define TIM_SMCR_ETF_1_MORT ((uint16_t)0x0200) /*!<Bit 1 */ 05454 #define TIM_SMCR_ETF_2_MORT ((uint16_t)0x0400) /*!<Bit 2 */ 05455 #define TIM_SMCR_ETF_3_MORT ((uint16_t)0x0800) /*!<Bit 3 */ 05456 05457 #define TIM_SMCR_ETPS_MORT ((uint16_t)0x3000) /*!<ETPS[1:0] bits (External trigger prescaler) */ 05458 #define TIM_SMCR_ETPS_0_MORT ((uint16_t)0x1000) /*!<Bit 0 */ 05459 #define TIM_SMCR_ETPS_1_MORT ((uint16_t)0x2000) /*!<Bit 1 */ 05460 05461 #define TIM_SMCR_ECE_MORT ((uint16_t)0x4000) /*!<External clock enable */ 05462 #define TIM_SMCR_ETP_MORT ((uint16_t)0x8000) /*!<External trigger polarity */ 05463 05464 /******************* Bit definition for TIM_DIER register *******************/ 05465 #define TIM_DIER_UIE_MORT ((uint16_t)0x0001) /*!<Update interrupt enable */ 05466 #define TIM_DIER_CC1IE_MORT ((uint16_t)0x0002) /*!<Capture/Compare 1 interrupt enable */ 05467 #define TIM_DIER_CC2IE_MORT ((uint16_t)0x0004) /*!<Capture/Compare 2 interrupt enable */ 05468 #define TIM_DIER_CC3IE_MORT ((uint16_t)0x0008) /*!<Capture/Compare 3 interrupt enable */ 05469 #define TIM_DIER_CC4IE_MORT ((uint16_t)0x0010) /*!<Capture/Compare 4 interrupt enable */ 05470 #define TIM_DIER_COMIE_MORT ((uint16_t)0x0020) /*!<COM interrupt enable */ 05471 #define TIM_DIER_TIE_MORT ((uint16_t)0x0040) /*!<Trigger interrupt enable */ 05472 #define TIM_DIER_BIE_MORT ((uint16_t)0x0080) /*!<Break interrupt enable */ 05473 #define TIM_DIER_UDE_MORT ((uint16_t)0x0100) /*!<Update DMA request enable */ 05474 #define TIM_DIER_CC1DE_MORT ((uint16_t)0x0200) /*!<Capture/Compare 1 DMA request enable */ 05475 #define TIM_DIER_CC2DE_MORT ((uint16_t)0x0400) /*!<Capture/Compare 2 DMA request enable */ 05476 #define TIM_DIER_CC3DE_MORT ((uint16_t)0x0800) /*!<Capture/Compare 3 DMA request enable */ 05477 #define TIM_DIER_CC4DE_MORT ((uint16_t)0x1000) /*!<Capture/Compare 4 DMA request enable */ 05478 #define TIM_DIER_COMDE_MORT ((uint16_t)0x2000) /*!<COM DMA request enable */ 05479 #define TIM_DIER_TDE_MORT ((uint16_t)0x4000) /*!<Trigger DMA request enable */ 05480 05481 /******************** Bit definition for TIM_SR register ********************/ 05482 #define TIM_SR_UIF_MORT ((uint16_t)0x0001) /*!<Update interrupt Flag */ 05483 #define TIM_SR_CC1IF_MORT ((uint16_t)0x0002) /*!<Capture/Compare 1 interrupt Flag */ 05484 #define TIM_SR_CC2IF_MORT ((uint16_t)0x0004) /*!<Capture/Compare 2 interrupt Flag */ 05485 #define TIM_SR_CC3IF_MORT ((uint16_t)0x0008) /*!<Capture/Compare 3 interrupt Flag */ 05486 #define TIM_SR_CC4IF_MORT ((uint16_t)0x0010) /*!<Capture/Compare 4 interrupt Flag */ 05487 #define TIM_SR_COMIF_MORT ((uint16_t)0x0020) /*!<COM interrupt Flag */ 05488 #define TIM_SR_TIF_MORT ((uint16_t)0x0040) /*!<Trigger interrupt Flag */ 05489 #define TIM_SR_BIF_MORT ((uint16_t)0x0080) /*!<Break interrupt Flag */ 05490 #define TIM_SR_CC1OF_MORT ((uint16_t)0x0200) /*!<Capture/Compare 1 Overcapture Flag */ 05491 #define TIM_SR_CC2OF_MORT ((uint16_t)0x0400) /*!<Capture/Compare 2 Overcapture Flag */ 05492 #define TIM_SR_CC3OF_MORT ((uint16_t)0x0800) /*!<Capture/Compare 3 Overcapture Flag */ 05493 #define TIM_SR_CC4OF_MORT ((uint16_t)0x1000) /*!<Capture/Compare 4 Overcapture Flag */ 05494 05495 /******************* Bit definition for TIM_EGR register ********************/ 05496 #define TIM_EGR_UG_MORT ((uint8_t)0x01) /*!<Update Generation */ 05497 #define TIM_EGR_CC1G_MORT ((uint8_t)0x02) /*!<Capture/Compare 1 Generation */ 05498 #define TIM_EGR_CC2G_MORT ((uint8_t)0x04) /*!<Capture/Compare 2 Generation */ 05499 #define TIM_EGR_CC3G_MORT ((uint8_t)0x08) /*!<Capture/Compare 3 Generation */ 05500 #define TIM_EGR_CC4G_MORT ((uint8_t)0x10) /*!<Capture/Compare 4 Generation */ 05501 #define TIM_EGR_COMG_MORT ((uint8_t)0x20) /*!<Capture/Compare Control Update Generation */ 05502 #define TIM_EGR_TG_MORT ((uint8_t)0x40) /*!<Trigger Generation */ 05503 #define TIM_EGR_BG_MORT ((uint8_t)0x80) /*!<Break Generation */ 05504 05505 /****************** Bit definition for TIM_CCMR1 register *******************/ 05506 #define TIM_CCMR1_CC1S_MORT ((uint16_t)0x0003) /*!<CC1S[1:0] bits (Capture/Compare 1 Selection) */ 05507 #define TIM_CCMR1_CC1S_0_MORT ((uint16_t)0x0001) /*!<Bit 0 */ 05508 #define TIM_CCMR1_CC1S_1_MORT ((uint16_t)0x0002) /*!<Bit 1 */ 05509 05510 #define TIM_CCMR1_OC1FE_MORT ((uint16_t)0x0004) /*!<Output Compare 1 Fast enable */ 05511 #define TIM_CCMR1_OC1PE_MORT ((uint16_t)0x0008) /*!<Output Compare 1 Preload enable */ 05512 05513 #define TIM_CCMR1_OC1M_MORT ((uint16_t)0x0070) /*!<OC1M[2:0] bits (Output Compare 1 Mode) */ 05514 #define TIM_CCMR1_OC1M_0_MORT ((uint16_t)0x0010) /*!<Bit 0 */ 05515 #define TIM_CCMR1_OC1M_1_MORT ((uint16_t)0x0020) /*!<Bit 1 */ 05516 #define TIM_CCMR1_OC1M_2_MORT ((uint16_t)0x0040) /*!<Bit 2 */ 05517 05518 #define TIM_CCMR1_OC1CE_MORT ((uint16_t)0x0080) /*!<Output Compare 1Clear Enable */ 05519 05520 #define TIM_CCMR1_CC2S_MORT ((uint16_t)0x0300) /*!<CC2S[1:0] bits (Capture/Compare 2 Selection) */ 05521 #define TIM_CCMR1_CC2S_0_MORT ((uint16_t)0x0100) /*!<Bit 0 */ 05522 #define TIM_CCMR1_CC2S_1_MORT ((uint16_t)0x0200) /*!<Bit 1 */ 05523 05524 #define TIM_CCMR1_OC2FE_MORT ((uint16_t)0x0400) /*!<Output Compare 2 Fast enable */ 05525 #define TIM_CCMR1_OC2PE_MORT ((uint16_t)0x0800) /*!<Output Compare 2 Preload enable */ 05526 05527 #define TIM_CCMR1_OC2M_MORT ((uint16_t)0x7000) /*!<OC2M[2:0] bits (Output Compare 2 Mode) */ 05528 #define TIM_CCMR1_OC2M_0_MORT ((uint16_t)0x1000) /*!<Bit 0 */ 05529 #define TIM_CCMR1_OC2M_1_MORT ((uint16_t)0x2000) /*!<Bit 1 */ 05530 #define TIM_CCMR1_OC2M_2_MORT ((uint16_t)0x4000) /*!<Bit 2 */ 05531 05532 #define TIM_CCMR1_OC2CE_MORT ((uint16_t)0x8000) /*!<Output Compare 2 Clear Enable */ 05533 05534 /*----------------------------------------------------------------------------*/ 05535 05536 #define TIM_CCMR1_IC1PSC_MORT ((uint16_t)0x000C) /*!<IC1PSC[1:0] bits (Input Capture 1 Prescaler) */ 05537 #define TIM_CCMR1_IC1PSC_0_MORT ((uint16_t)0x0004) /*!<Bit 0 */ 05538 #define TIM_CCMR1_IC1PSC_1_MORT ((uint16_t)0x0008) /*!<Bit 1 */ 05539 05540 #define TIM_CCMR1_IC1F_MORT ((uint16_t)0x00F0) /*!<IC1F[3:0] bits (Input Capture 1 Filter) */ 05541 #define TIM_CCMR1_IC1F_0_MORT ((uint16_t)0x0010) /*!<Bit 0 */ 05542 #define TIM_CCMR1_IC1F_1_MORT ((uint16_t)0x0020) /*!<Bit 1 */ 05543 #define TIM_CCMR1_IC1F_2_MORT ((uint16_t)0x0040) /*!<Bit 2 */ 05544 #define TIM_CCMR1_IC1F_3_MORT ((uint16_t)0x0080) /*!<Bit 3 */ 05545 05546 #define TIM_CCMR1_IC2PSC_MORT ((uint16_t)0x0C00) /*!<IC2PSC[1:0] bits (Input Capture 2 Prescaler) */ 05547 #define TIM_CCMR1_IC2PSC_0_MORT ((uint16_t)0x0400) /*!<Bit 0 */ 05548 #define TIM_CCMR1_IC2PSC_1_MORT ((uint16_t)0x0800) /*!<Bit 1 */ 05549 05550 #define TIM_CCMR1_IC2F_MORT ((uint16_t)0xF000) /*!<IC2F[3:0] bits (Input Capture 2 Filter) */ 05551 #define TIM_CCMR1_IC2F_0_MORT ((uint16_t)0x1000) /*!<Bit 0 */ 05552 #define TIM_CCMR1_IC2F_1_MORT ((uint16_t)0x2000) /*!<Bit 1 */ 05553 #define TIM_CCMR1_IC2F_2_MORT ((uint16_t)0x4000) /*!<Bit 2 */ 05554 #define TIM_CCMR1_IC2F_3_MORT ((uint16_t)0x8000) /*!<Bit 3 */ 05555 05556 /****************** Bit definition for TIM_CCMR2 register *******************/ 05557 #define TIM_CCMR2_CC3S_MORT ((uint16_t)0x0003) /*!<CC3S[1:0] bits (Capture/Compare 3 Selection) */ 05558 #define TIM_CCMR2_CC3S_0_MORT ((uint16_t)0x0001) /*!<Bit 0 */ 05559 #define TIM_CCMR2_CC3S_1_MORT ((uint16_t)0x0002) /*!<Bit 1 */ 05560 05561 #define TIM_CCMR2_OC3FE_MORT ((uint16_t)0x0004) /*!<Output Compare 3 Fast enable */ 05562 #define TIM_CCMR2_OC3PE_MORT ((uint16_t)0x0008) /*!<Output Compare 3 Preload enable */ 05563 05564 #define TIM_CCMR2_OC3M_MORT ((uint16_t)0x0070) /*!<OC3M[2:0] bits (Output Compare 3 Mode) */ 05565 #define TIM_CCMR2_OC3M_0_MORT ((uint16_t)0x0010) /*!<Bit 0 */ 05566 #define TIM_CCMR2_OC3M_1_MORT ((uint16_t)0x0020) /*!<Bit 1 */ 05567 #define TIM_CCMR2_OC3M_2_MORT ((uint16_t)0x0040) /*!<Bit 2 */ 05568 05569 #define TIM_CCMR2_OC3CE_MORT ((uint16_t)0x0080) /*!<Output Compare 3 Clear Enable */ 05570 05571 #define TIM_CCMR2_CC4S_MORT ((uint16_t)0x0300) /*!<CC4S[1:0] bits (Capture/Compare 4 Selection) */ 05572 #define TIM_CCMR2_CC4S_0_MORT ((uint16_t)0x0100) /*!<Bit 0 */ 05573 #define TIM_CCMR2_CC4S_1_MORT ((uint16_t)0x0200) /*!<Bit 1 */ 05574 05575 #define TIM_CCMR2_OC4FE_MORT ((uint16_t)0x0400) /*!<Output Compare 4 Fast enable */ 05576 #define TIM_CCMR2_OC4PE_MORT ((uint16_t)0x0800) /*!<Output Compare 4 Preload enable */ 05577 05578 #define TIM_CCMR2_OC4M_MORT ((uint16_t)0x7000) /*!<OC4M[2:0] bits (Output Compare 4 Mode) */ 05579 #define TIM_CCMR2_OC4M_0_MORT ((uint16_t)0x1000) /*!<Bit 0 */ 05580 #define TIM_CCMR2_OC4M_1_MORT ((uint16_t)0x2000) /*!<Bit 1 */ 05581 #define TIM_CCMR2_OC4M_2_MORT ((uint16_t)0x4000) /*!<Bit 2 */ 05582 05583 #define TIM_CCMR2_OC4CE_MORT ((uint16_t)0x8000) /*!<Output Compare 4 Clear Enable */ 05584 05585 /*----------------------------------------------------------------------------*/ 05586 05587 #define TIM_CCMR2_IC3PSC_MORT ((uint16_t)0x000C) /*!<IC3PSC[1:0] bits (Input Capture 3 Prescaler) */ 05588 #define TIM_CCMR2_IC3PSC_0_MORT ((uint16_t)0x0004) /*!<Bit 0 */ 05589 #define TIM_CCMR2_IC3PSC_1_MORT ((uint16_t)0x0008) /*!<Bit 1 */ 05590 05591 #define TIM_CCMR2_IC3F_MORT ((uint16_t)0x00F0) /*!<IC3F[3:0] bits (Input Capture 3 Filter) */ 05592 #define TIM_CCMR2_IC3F_0_MORT ((uint16_t)0x0010) /*!<Bit 0 */ 05593 #define TIM_CCMR2_IC3F_1_MORT ((uint16_t)0x0020) /*!<Bit 1 */ 05594 #define TIM_CCMR2_IC3F_2_MORT ((uint16_t)0x0040) /*!<Bit 2 */ 05595 #define TIM_CCMR2_IC3F_3_MORT ((uint16_t)0x0080) /*!<Bit 3 */ 05596 05597 #define TIM_CCMR2_IC4PSC_MORT ((uint16_t)0x0C00) /*!<IC4PSC[1:0] bits (Input Capture 4 Prescaler) */ 05598 #define TIM_CCMR2_IC4PSC_0_MORT ((uint16_t)0x0400) /*!<Bit 0 */ 05599 #define TIM_CCMR2_IC4PSC_1_MORT ((uint16_t)0x0800) /*!<Bit 1 */ 05600 05601 #define TIM_CCMR2_IC4F_MORT ((uint16_t)0xF000) /*!<IC4F[3:0] bits (Input Capture 4 Filter) */ 05602 #define TIM_CCMR2_IC4F_0_MORT ((uint16_t)0x1000) /*!<Bit 0 */ 05603 #define TIM_CCMR2_IC4F_1_MORT ((uint16_t)0x2000) /*!<Bit 1 */ 05604 #define TIM_CCMR2_IC4F_2_MORT ((uint16_t)0x4000) /*!<Bit 2 */ 05605 #define TIM_CCMR2_IC4F_3_MORT ((uint16_t)0x8000) /*!<Bit 3 */ 05606 05607 /******************* Bit definition for TIM_CCER register *******************/ 05608 #define TIM_CCER_CC1E_MORT ((uint16_t)0x0001) /*!<Capture/Compare 1 output enable */ 05609 #define TIM_CCER_CC1P_MORT ((uint16_t)0x0002) /*!<Capture/Compare 1 output Polarity */ 05610 #define TIM_CCER_CC1NE_MORT ((uint16_t)0x0004) /*!<Capture/Compare 1 Complementary output enable */ 05611 #define TIM_CCER_CC1NP_MORT ((uint16_t)0x0008) /*!<Capture/Compare 1 Complementary output Polarity */ 05612 #define TIM_CCER_CC2E_MORT ((uint16_t)0x0010) /*!<Capture/Compare 2 output enable */ 05613 #define TIM_CCER_CC2P_MORT ((uint16_t)0x0020) /*!<Capture/Compare 2 output Polarity */ 05614 #define TIM_CCER_CC2NE_MORT ((uint16_t)0x0040) /*!<Capture/Compare 2 Complementary output enable */ 05615 #define TIM_CCER_CC2NP_MORT ((uint16_t)0x0080) /*!<Capture/Compare 2 Complementary output Polarity */ 05616 #define TIM_CCER_CC3E_MORT ((uint16_t)0x0100) /*!<Capture/Compare 3 output enable */ 05617 #define TIM_CCER_CC3P_MORT ((uint16_t)0x0200) /*!<Capture/Compare 3 output Polarity */ 05618 #define TIM_CCER_CC3NE_MORT ((uint16_t)0x0400) /*!<Capture/Compare 3 Complementary output enable */ 05619 #define TIM_CCER_CC3NP_MORT ((uint16_t)0x0800) /*!<Capture/Compare 3 Complementary output Polarity */ 05620 #define TIM_CCER_CC4E_MORT ((uint16_t)0x1000) /*!<Capture/Compare 4 output enable */ 05621 #define TIM_CCER_CC4P_MORT ((uint16_t)0x2000) /*!<Capture/Compare 4 output Polarity */ 05622 #define TIM_CCER_CC4NP_MORT ((uint16_t)0x8000) /*!<Capture/Compare 4 Complementary output Polarity */ 05623 05624 /******************* Bit definition for TIM_CNT register ********************/ 05625 #define TIM_CNT_CNT_MORT ((uint16_t)0xFFFF) /*!<Counter Value */ 05626 05627 /******************* Bit definition for TIM_PSC register ********************/ 05628 #define TIM_PSC_PSC_MORT ((uint16_t)0xFFFF) /*!<Prescaler Value */ 05629 05630 /******************* Bit definition for TIM_ARR register ********************/ 05631 #define TIM_ARR_ARR_MORT ((uint16_t)0xFFFF) /*!<actual auto-reload Value */ 05632 05633 /******************* Bit definition for TIM_RCR register ********************/ 05634 #define TIM_RCR_REP_MORT ((uint8_t)0xFF) /*!<Repetition Counter Value */ 05635 05636 /******************* Bit definition for TIM_CCR1 register *******************/ 05637 #define TIM_CCR1_CCR1_MORT ((uint16_t)0xFFFF) /*!<Capture/Compare 1 Value */ 05638 05639 /******************* Bit definition for TIM_CCR2 register *******************/ 05640 #define TIM_CCR2_CCR2_MORT ((uint16_t)0xFFFF) /*!<Capture/Compare 2 Value */ 05641 05642 /******************* Bit definition for TIM_CCR3 register *******************/ 05643 #define TIM_CCR3_CCR3_MORT ((uint16_t)0xFFFF) /*!<Capture/Compare 3 Value */ 05644 05645 /******************* Bit definition for TIM_CCR4 register *******************/ 05646 #define TIM_CCR4_CCR4_MORT ((uint16_t)0xFFFF) /*!<Capture/Compare 4 Value */ 05647 05648 /******************* Bit definition for TIM_BDTR register *******************/ 05649 #define TIM_BDTR_DTG_MORT ((uint16_t)0x00FF) /*!<DTG[0:7] bits (Dead-Time Generator set-up) */ 05650 #define TIM_BDTR_DTG_0_MORT ((uint16_t)0x0001) /*!<Bit 0 */ 05651 #define TIM_BDTR_DTG_1_MORT ((uint16_t)0x0002) /*!<Bit 1 */ 05652 #define TIM_BDTR_DTG_2_MORT ((uint16_t)0x0004) /*!<Bit 2 */ 05653 #define TIM_BDTR_DTG_3_MORT ((uint16_t)0x0008) /*!<Bit 3 */ 05654 #define TIM_BDTR_DTG_4_MORT ((uint16_t)0x0010) /*!<Bit 4 */ 05655 #define TIM_BDTR_DTG_5_MORT ((uint16_t)0x0020) /*!<Bit 5 */ 05656 #define TIM_BDTR_DTG_6_MORT ((uint16_t)0x0040) /*!<Bit 6 */ 05657 #define TIM_BDTR_DTG_7_MORT ((uint16_t)0x0080) /*!<Bit 7 */ 05658 05659 #define TIM_BDTR_LOCK_MORT ((uint16_t)0x0300) /*!<LOCK[1:0] bits (Lock Configuration) */ 05660 #define TIM_BDTR_LOCK_0_MORT ((uint16_t)0x0100) /*!<Bit 0 */ 05661 #define TIM_BDTR_LOCK_1_MORT ((uint16_t)0x0200) /*!<Bit 1 */ 05662 05663 #define TIM_BDTR_OSSI_MORT ((uint16_t)0x0400) /*!<Off-State Selection for Idle mode */ 05664 #define TIM_BDTR_OSSR_MORT ((uint16_t)0x0800) /*!<Off-State Selection for Run mode */ 05665 #define TIM_BDTR_BKE_MORT ((uint16_t)0x1000) /*!<Break enable */ 05666 #define TIM_BDTR_BKP_MORT ((uint16_t)0x2000) /*!<Break Polarity */ 05667 #define TIM_BDTR_AOE_MORT ((uint16_t)0x4000) /*!<Automatic Output enable */ 05668 #define TIM_BDTR_MOE_MORT ((uint16_t)0x8000) /*!<Main Output enable */ 05669 05670 /******************* Bit definition for TIM_DCR register ********************/ 05671 #define TIM_DCR_DBA_MORT ((uint16_t)0x001F) /*!<DBA[4:0] bits (DMA Base Address) */ 05672 #define TIM_DCR_DBA_0_MORT ((uint16_t)0x0001) /*!<Bit 0 */ 05673 #define TIM_DCR_DBA_1_MORT ((uint16_t)0x0002) /*!<Bit 1 */ 05674 #define TIM_DCR_DBA_2_MORT ((uint16_t)0x0004) /*!<Bit 2 */ 05675 #define TIM_DCR_DBA_3_MORT ((uint16_t)0x0008) /*!<Bit 3 */ 05676 #define TIM_DCR_DBA_4_MORT ((uint16_t)0x0010) /*!<Bit 4 */ 05677 05678 #define TIM_DCR_DBL_MORT ((uint16_t)0x1F00) /*!<DBL[4:0] bits (DMA Burst Length) */ 05679 #define TIM_DCR_DBL_0_MORT ((uint16_t)0x0100) /*!<Bit 0 */ 05680 #define TIM_DCR_DBL_1_MORT ((uint16_t)0x0200) /*!<Bit 1 */ 05681 #define TIM_DCR_DBL_2_MORT ((uint16_t)0x0400) /*!<Bit 2 */ 05682 #define TIM_DCR_DBL_3_MORT ((uint16_t)0x0800) /*!<Bit 3 */ 05683 #define TIM_DCR_DBL_4_MORT ((uint16_t)0x1000) /*!<Bit 4 */ 05684 05685 /******************* Bit definition for TIM_DMAR register *******************/ 05686 #define TIM_DMAR_DMAB_MORT ((uint16_t)0xFFFF) /*!<DMA register for burst accesses */ 05687 05688 /******************* Bit definition for TIM_OR register *********************/ 05689 #define TIM_OR_TI4_RMP_MORT ((uint16_t)0x00C0) /*!<TI4_RMP[1:0] bits (TIM5_MORT Input 4 remap) */ 05690 #define TIM_OR_TI4_RMP_0_MORT ((uint16_t)0x0040) /*!<Bit 0 */ 05691 #define TIM_OR_TI4_RMP_1_MORT ((uint16_t)0x0080) /*!<Bit 1 */ 05692 #define TIM_OR_ITR1_RMP_MORT ((uint16_t)0x0C00) /*!<ITR1_RMP[1:0] bits (TIM2_MORT Internal trigger 1 remap) */ 05693 #define TIM_OR_ITR1_RMP_0_MORT ((uint16_t)0x0400) /*!<Bit 0 */ 05694 #define TIM_OR_ITR1_RMP_1_MORT ((uint16_t)0x0800) /*!<Bit 1 */ 05695 05696 #if defined(STM32F410xx) || defined(STM32F413_423xx) 05697 /******************************************************************************/ 05698 /* */ 05699 /* Low Power Timer (LPTIM) */ 05700 /* */ 05701 /******************************************************************************/ 05702 /****************** Bit definition for LPTIM_ISR register *******************/ 05703 05704 /****************** Bit definition for LPTIM_ICR register *******************/ 05705 05706 /****************** Bit definition for LPTIM_IER register ********************/ 05707 05708 /****************** Bit definition for LPTIM_CFGR register *******************/ 05709 05710 05711 /****************** Bit definition for LPTIM_CR register ********************/ 05712 05713 /****************** Bit definition for LPTIM_CMP register *******************/ 05714 05715 /****************** Bit definition for LPTIM_ARR register *******************/ 05716 05717 /****************** Bit definition for LPTIM_CNT register *******************/ 05718 05719 /****************** Bit definition for LPTIM_OR register *******************/ 05720 05721 #endif /* STM32F410xx || STM32F413_423xx */ 05722 05723 /******************************************************************************/ 05724 /* */ 05725 /* Universal Synchronous Asynchronous Receiver Transmitter */ 05726 /* */ 05727 /******************************************************************************/ 05728 /******************* Bit definition for USART_SR register *******************/ 05729 05730 /******************* Bit definition for USART_DR register *******************/ 05731 05732 /****************** Bit definition for USART_BRR register *******************/ 05733 05734 /****************** Bit definition for USART_CR1 register *******************/ 05735 05736 /****************** Bit definition for USART_CR2 register *******************/ 05737 05738 /****************** Bit definition for USART_CR3 register *******************/ 05739 05740 /****************** Bit definition for USART_GTPR register ******************/ 05741 05742 /******************************************************************************/ 05743 /* */ 05744 /* Window WATCHDOG */ 05745 /* */ 05746 /******************************************************************************/ 05747 /******************* Bit definition for WWDG_CR register ********************/ 05748 05749 /******************* Bit definition for WWDG_CFR register *******************/ 05750 05751 /******************* Bit definition for WWDG_SR register ********************/ 05752 05753 /******************************************************************************/ 05754 /* */ 05755 /* DBG */ 05756 /* */ 05757 /******************************************************************************/ 05758 /******************** Bit definition for DBGMCU_IDCODE register *************/ 05759 05760 /******************** Bit definition for DBGMCU_CR register *****************/ 05761 05762 05763 /******************** Bit definition for DBGMCU_APB1_FZ register ************/ 05764 05765 05766 /******************** Bit definition for DBGMCU_APB1_FZ register ************/ 05767 05768 05769 /******************************************************************************/ 05770 /* */ 05771 /* Ethernet MAC Registers bits definitions */ 05772 /* */ 05773 /******************************************************************************/ 05774 /* Bit definition for Ethernet MAC Control Register register */ 05775 05776 05777 /* Bit definition for Ethernet MAC Frame Filter Register */ 05778 05779 /* Bit definition for Ethernet MAC Flow Control Register */ 05780 05781 05782 /* Bit definition for Ethernet MAC Status Register */ 05783 05784 05785 /* Bit definition for Ethernet MAC Interrupt Mask Register */ 05786 05787 05788 /* Bit definition for Ethernet MAC Address0 High Register */ 05789 05790 05791 /* Bit definition for Ethernet MAC Address0 Low Register */ 05792 05793 05794 /* Bit definition for Ethernet MAC Address1 High Register */ 05795 05796 /* Bit definition for Ethernet MAC Address1 Low Register */ 05797 05798 05799 /* Bit definition for Ethernet MAC Address2 High Register */ 05800 05801 05802 /* Bit definition for Ethernet MAC Address2 Low Register */ 05803 05804 05805 /* Bit definition for Ethernet MAC Address3 High Register */ 05806 05807 05808 /* Bit definition for Ethernet MAC Address3 Low Register */ 05809 05810 05811 /******************************************************************************/ 05812 /* Ethernet MMC Registers bits definition */ 05813 /******************************************************************************/ 05814 05815 /* Bit definition for Ethernet MMC Contol Register */ 05816 05817 05818 /* Bit definition for Ethernet MMC Receive Interrupt Register */ 05819 05820 /* Bit definition for Ethernet MMC Transmit Interrupt Register */ 05821 05822 /* Bit definition for Ethernet MMC Receive Interrupt Mask Register */ 05823 05824 /* Bit definition for Ethernet MMC Transmit Interrupt Mask Register */ 05825 05826 /******************************************************************************/ 05827 /* Ethernet PTP Registers bits definition */ 05828 /******************************************************************************/ 05829 05830 /* Bit definition for Ethernet PTP Time Stamp Contol Register */ 05831 05832 05833 05834 /******************************************************************************/ 05835 /* Ethernet DMA Registers bits definition */ 05836 /******************************************************************************/ 05837 05838 /* Bit definition for Ethernet DMA Bus Mode Register */ 05839 05840 05841 /** 05842 * 05843 */ 05844 05845 /** 05846 * @} 05847 */ 05848 05849 #ifdef USE_STDPERIPH_DRIVER 05850 #include "stm32f4xx_conf.h" 05851 #endif /* USE_STDPERIPH_DRIVER */ 05852 05853 /** @addtogroup Exported_macro 05854 * @{ 05855 */ 05856 05857 #define SET_BIT_MORT(REG, BIT) ((REG) |= (BIT)) 05858 05859 #define CLEAR_BIT_MORT(REG, BIT) ((REG) &= ~(BIT)) 05860 05861 #define READ_BIT_MORT(REG, BIT) ((REG) & (BIT)) 05862 05863 #define CLEAR_REG_MORT(REG) ((REG) = (0x0)) 05864 05865 #define WRITE_REG_MORT(REG, VAL) ((REG) = (VAL)) 05866 05867 #define READ_REG_MORT(REG) ((REG)) 05868 05869 #define MODIFY_REG_MORT(REG, CLEARMASK, SETMASK) WRITE_REG_MORT((REG), (((READ_REG_MORT(REG)) & (~(CLEARMASK))) | (SETMASK))) 05870 05871 /** 05872 * @} 05873 */ 05874 05875 #ifdef __cplusplus 05876 } 05877 #endif /* __cplusplus */ 05878 05879 #endif /* __STM32F4xx_H */ 05880 05881 /** 05882 * @} 05883 */ 05884 05885 /** 05886 * @} 05887 */ 05888 05889 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 05890 05891 05892 05893 05894 05895
Generated on Mon Jan 16 2023 14:41:56 by
1.7.2