Fawwaz Nadzmy / mbed-STM

Fork of mbed-dev by mbed official

Committer:
bogdanm
Date:
Thu Oct 01 15:25:22 2015 +0300
Revision:
0:9b334a45a8ff
Child:
144:ef7eb2e8f9f7
Initial commit on mbed-dev

Replaces mbed-src (now inactive)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 /**
bogdanm 0:9b334a45a8ff 2 ******************************************************************************
bogdanm 0:9b334a45a8ff 3 * @file stm32f0xx_hal.h
bogdanm 0:9b334a45a8ff 4 * @author MCD Application Team
bogdanm 0:9b334a45a8ff 5 * @version V1.3.0
bogdanm 0:9b334a45a8ff 6 * @date 26-June-2015
bogdanm 0:9b334a45a8ff 7 * @brief This file contains all the functions prototypes for the HAL
bogdanm 0:9b334a45a8ff 8 * module driver.
bogdanm 0:9b334a45a8ff 9 ******************************************************************************
bogdanm 0:9b334a45a8ff 10 * @attention
bogdanm 0:9b334a45a8ff 11 *
bogdanm 0:9b334a45a8ff 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
bogdanm 0:9b334a45a8ff 13 *
bogdanm 0:9b334a45a8ff 14 * Redistribution and use in source and binary forms, with or without modification,
bogdanm 0:9b334a45a8ff 15 * are permitted provided that the following conditions are met:
bogdanm 0:9b334a45a8ff 16 * 1. Redistributions of source code must retain the above copyright notice,
bogdanm 0:9b334a45a8ff 17 * this list of conditions and the following disclaimer.
bogdanm 0:9b334a45a8ff 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
bogdanm 0:9b334a45a8ff 19 * this list of conditions and the following disclaimer in the documentation
bogdanm 0:9b334a45a8ff 20 * and/or other materials provided with the distribution.
bogdanm 0:9b334a45a8ff 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
bogdanm 0:9b334a45a8ff 22 * may be used to endorse or promote products derived from this software
bogdanm 0:9b334a45a8ff 23 * without specific prior written permission.
bogdanm 0:9b334a45a8ff 24 *
bogdanm 0:9b334a45a8ff 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
bogdanm 0:9b334a45a8ff 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
bogdanm 0:9b334a45a8ff 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
bogdanm 0:9b334a45a8ff 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
bogdanm 0:9b334a45a8ff 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
bogdanm 0:9b334a45a8ff 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
bogdanm 0:9b334a45a8ff 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
bogdanm 0:9b334a45a8ff 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
bogdanm 0:9b334a45a8ff 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
bogdanm 0:9b334a45a8ff 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
bogdanm 0:9b334a45a8ff 35 *
bogdanm 0:9b334a45a8ff 36 ******************************************************************************
bogdanm 0:9b334a45a8ff 37 */
bogdanm 0:9b334a45a8ff 38
bogdanm 0:9b334a45a8ff 39 /* Define to prevent recursive inclusion -------------------------------------*/
bogdanm 0:9b334a45a8ff 40 #ifndef __STM32F0xx_HAL_H
bogdanm 0:9b334a45a8ff 41 #define __STM32F0xx_HAL_H
bogdanm 0:9b334a45a8ff 42
bogdanm 0:9b334a45a8ff 43 #ifdef __cplusplus
bogdanm 0:9b334a45a8ff 44 extern "C" {
bogdanm 0:9b334a45a8ff 45 #endif
bogdanm 0:9b334a45a8ff 46
bogdanm 0:9b334a45a8ff 47 /* Includes ------------------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 48 #include "stm32f0xx_hal_conf.h"
bogdanm 0:9b334a45a8ff 49
bogdanm 0:9b334a45a8ff 50 /** @addtogroup STM32F0xx_HAL_Driver
bogdanm 0:9b334a45a8ff 51 * @{
bogdanm 0:9b334a45a8ff 52 */
bogdanm 0:9b334a45a8ff 53
bogdanm 0:9b334a45a8ff 54 /** @addtogroup HAL
bogdanm 0:9b334a45a8ff 55 * @{
bogdanm 0:9b334a45a8ff 56 */
bogdanm 0:9b334a45a8ff 57
bogdanm 0:9b334a45a8ff 58 /* Private macros ------------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 59 /** @addtogroup HAL_Private_Macros
bogdanm 0:9b334a45a8ff 60 * @{
bogdanm 0:9b334a45a8ff 61 */
bogdanm 0:9b334a45a8ff 62 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F042x6) || defined(STM32F048xx) || \
bogdanm 0:9b334a45a8ff 63 defined(STM32F030x6) || defined(STM32F031x6) || defined(STM32F038xx) || defined(STM32F070x6) || \
bogdanm 0:9b334a45a8ff 64 defined(STM32F070xB) || defined(STM32F030x6)
bogdanm 0:9b334a45a8ff 65 #define IS_SYSCFG_FASTMODEPLUS(__PIN__) ((((__PIN__) & SYSCFG_FASTMODEPLUS_PA9) == SYSCFG_FASTMODEPLUS_PA9) || \
bogdanm 0:9b334a45a8ff 66 (((__PIN__) & SYSCFG_FASTMODEPLUS_PA10) == SYSCFG_FASTMODEPLUS_PA10) || \
bogdanm 0:9b334a45a8ff 67 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB6) == SYSCFG_FASTMODEPLUS_PB6) || \
bogdanm 0:9b334a45a8ff 68 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB7) == SYSCFG_FASTMODEPLUS_PB7) || \
bogdanm 0:9b334a45a8ff 69 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB8) == SYSCFG_FASTMODEPLUS_PB8) || \
bogdanm 0:9b334a45a8ff 70 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB9) == SYSCFG_FASTMODEPLUS_PB9))
bogdanm 0:9b334a45a8ff 71 #else
bogdanm 0:9b334a45a8ff 72 #define IS_SYSCFG_FASTMODEPLUS(__PIN__) ((((__PIN__) & SYSCFG_FASTMODEPLUS_PB6) == SYSCFG_FASTMODEPLUS_PB6) || \
bogdanm 0:9b334a45a8ff 73 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB7) == SYSCFG_FASTMODEPLUS_PB7) || \
bogdanm 0:9b334a45a8ff 74 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB8) == SYSCFG_FASTMODEPLUS_PB8) || \
bogdanm 0:9b334a45a8ff 75 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB9) == SYSCFG_FASTMODEPLUS_PB9))
bogdanm 0:9b334a45a8ff 76 #endif
bogdanm 0:9b334a45a8ff 77 #if defined(SYSCFG_CFGR1_PA11_PA12_RMP)
bogdanm 0:9b334a45a8ff 78 #define IS_HAL_REMAP_PIN(RMP) ((RMP) == HAL_REMAP_PA11_PA12)
bogdanm 0:9b334a45a8ff 79 #endif /* SYSCFG_CFGR1_PA11_PA12_RMP */
bogdanm 0:9b334a45a8ff 80 #if defined(STM32F091xC) || defined(STM32F098xx)
bogdanm 0:9b334a45a8ff 81 #define IS_HAL_SYSCFG_IRDA_ENV_SEL(SEL) (((SEL) == HAL_SYSCFG_IRDA_ENV_SEL_TIM16) || \
bogdanm 0:9b334a45a8ff 82 ((SEL) == HAL_SYSCFG_IRDA_ENV_SEL_USART1) || \
bogdanm 0:9b334a45a8ff 83 ((SEL) == HAL_SYSCFG_IRDA_ENV_SEL_USART4))
bogdanm 0:9b334a45a8ff 84 #endif /* STM32F091xC || STM32F098xx */
bogdanm 0:9b334a45a8ff 85 /**
bogdanm 0:9b334a45a8ff 86 * @}
bogdanm 0:9b334a45a8ff 87 */
bogdanm 0:9b334a45a8ff 88
bogdanm 0:9b334a45a8ff 89 /* Exported types ------------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 90 /* Exported constants --------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 91 /** @defgroup HAL_Exported_Constants HAL Exported Constants
bogdanm 0:9b334a45a8ff 92 * @{
bogdanm 0:9b334a45a8ff 93 */
bogdanm 0:9b334a45a8ff 94
bogdanm 0:9b334a45a8ff 95 #if defined(SYSCFG_CFGR1_PA11_PA12_RMP)
bogdanm 0:9b334a45a8ff 96 /** @defgroup HAL_Pin_remapping HAL Pin remapping
bogdanm 0:9b334a45a8ff 97 * @{
bogdanm 0:9b334a45a8ff 98 */
bogdanm 0:9b334a45a8ff 99 #define HAL_REMAP_PA11_PA12 (SYSCFG_CFGR1_PA11_PA12_RMP) /*!< PA11 and PA12 remapping bit for small packages (28 and 20 pins).
bogdanm 0:9b334a45a8ff 100 0: No remap (pin pair PA9/10 mapped on the pins)
bogdanm 0:9b334a45a8ff 101 1: Remap (pin pair PA11/12 mapped instead of PA9/10) */
bogdanm 0:9b334a45a8ff 102
bogdanm 0:9b334a45a8ff 103 /**
bogdanm 0:9b334a45a8ff 104 * @}
bogdanm 0:9b334a45a8ff 105 */
bogdanm 0:9b334a45a8ff 106 #endif /* SYSCFG_CFGR1_PA11_PA12_RMP */
bogdanm 0:9b334a45a8ff 107
bogdanm 0:9b334a45a8ff 108 #if defined(STM32F091xC) || defined(STM32F098xx)
bogdanm 0:9b334a45a8ff 109 /** @defgroup HAL_IRDA_ENV_SEL HAL IRDA Enveloppe Selection
bogdanm 0:9b334a45a8ff 110 * @note Applicable on STM32F09x
bogdanm 0:9b334a45a8ff 111 * @{
bogdanm 0:9b334a45a8ff 112 */
bogdanm 0:9b334a45a8ff 113 #define HAL_SYSCFG_IRDA_ENV_SEL_TIM16 (SYSCFG_CFGR1_IRDA_ENV_SEL_0 & SYSCFG_CFGR1_IRDA_ENV_SEL_1) /* 00: Timer16 is selected as IRDA Modulation enveloppe source */
bogdanm 0:9b334a45a8ff 114 #define HAL_SYSCFG_IRDA_ENV_SEL_USART1 (SYSCFG_CFGR1_IRDA_ENV_SEL_0) /* 01: USART1 is selected as IRDA Modulation enveloppe source */
bogdanm 0:9b334a45a8ff 115 #define HAL_SYSCFG_IRDA_ENV_SEL_USART4 (SYSCFG_CFGR1_IRDA_ENV_SEL_1) /* 10: USART4 is selected as IRDA Modulation enveloppe source */
bogdanm 0:9b334a45a8ff 116
bogdanm 0:9b334a45a8ff 117 /**
bogdanm 0:9b334a45a8ff 118 * @}
bogdanm 0:9b334a45a8ff 119 */
bogdanm 0:9b334a45a8ff 120 #endif /* STM32F091xC || STM32F098xx */
bogdanm 0:9b334a45a8ff 121
bogdanm 0:9b334a45a8ff 122
bogdanm 0:9b334a45a8ff 123 /** @defgroup SYSCFG_FastModePlus_GPIO Fast-mode Plus on GPIO
bogdanm 0:9b334a45a8ff 124 * @{
bogdanm 0:9b334a45a8ff 125 */
bogdanm 0:9b334a45a8ff 126
bogdanm 0:9b334a45a8ff 127 /** @brief Fast-mode Plus driving capability on a specific GPIO
bogdanm 0:9b334a45a8ff 128 */
bogdanm 0:9b334a45a8ff 129 #if defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F042x6) || defined(STM32F048xx) || \
bogdanm 0:9b334a45a8ff 130 defined(STM32F030x6) || defined(STM32F031x6) || defined(STM32F038xx) || defined(STM32F070x6) || \
bogdanm 0:9b334a45a8ff 131 defined(STM32F070xB) || defined(STM32F030x6)
bogdanm 0:9b334a45a8ff 132 #define SYSCFG_FASTMODEPLUS_PA9 SYSCFG_CFGR1_I2C_FMP_PA9 /*!< Enable Fast-mode Plus on PA9 */
bogdanm 0:9b334a45a8ff 133 #define SYSCFG_FASTMODEPLUS_PA10 SYSCFG_CFGR1_I2C_FMP_PA10 /*!< Enable Fast-mode Plus on PA10 */
bogdanm 0:9b334a45a8ff 134 #endif
bogdanm 0:9b334a45a8ff 135 #define SYSCFG_FASTMODEPLUS_PB6 SYSCFG_CFGR1_I2C_FMP_PB6 /*!< Enable Fast-mode Plus on PB6 */
bogdanm 0:9b334a45a8ff 136 #define SYSCFG_FASTMODEPLUS_PB7 SYSCFG_CFGR1_I2C_FMP_PB7 /*!< Enable Fast-mode Plus on PB7 */
bogdanm 0:9b334a45a8ff 137 #define SYSCFG_FASTMODEPLUS_PB8 SYSCFG_CFGR1_I2C_FMP_PB8 /*!< Enable Fast-mode Plus on PB8 */
bogdanm 0:9b334a45a8ff 138 #define SYSCFG_FASTMODEPLUS_PB9 SYSCFG_CFGR1_I2C_FMP_PB9 /*!< Enable Fast-mode Plus on PB9 */
bogdanm 0:9b334a45a8ff 139
bogdanm 0:9b334a45a8ff 140 /**
bogdanm 0:9b334a45a8ff 141 * @}
bogdanm 0:9b334a45a8ff 142 */
bogdanm 0:9b334a45a8ff 143
bogdanm 0:9b334a45a8ff 144
bogdanm 0:9b334a45a8ff 145 #if defined(STM32F091xC) || defined (STM32F098xx)
bogdanm 0:9b334a45a8ff 146 /** @defgroup HAL_ISR_Wrapper HAL ISR Wrapper
bogdanm 0:9b334a45a8ff 147 * @brief ISR Wrapper
bogdanm 0:9b334a45a8ff 148 * @note applicable on STM32F09x
bogdanm 0:9b334a45a8ff 149 * @{
bogdanm 0:9b334a45a8ff 150 */
bogdanm 0:9b334a45a8ff 151 #define HAL_SYSCFG_ITLINE0 ((uint32_t) 0x00000000) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 152 #define HAL_SYSCFG_ITLINE1 ((uint32_t) 0x00000001) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 153 #define HAL_SYSCFG_ITLINE2 ((uint32_t) 0x00000002) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 154 #define HAL_SYSCFG_ITLINE3 ((uint32_t) 0x00000003) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 155 #define HAL_SYSCFG_ITLINE4 ((uint32_t) 0x00000004) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 156 #define HAL_SYSCFG_ITLINE5 ((uint32_t) 0x00000005) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 157 #define HAL_SYSCFG_ITLINE6 ((uint32_t) 0x00000006) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 158 #define HAL_SYSCFG_ITLINE7 ((uint32_t) 0x00000007) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 159 #define HAL_SYSCFG_ITLINE8 ((uint32_t) 0x00000008) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 160 #define HAL_SYSCFG_ITLINE9 ((uint32_t) 0x00000009) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 161 #define HAL_SYSCFG_ITLINE10 ((uint32_t) 0x0000000A) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 162 #define HAL_SYSCFG_ITLINE11 ((uint32_t) 0x0000000B) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 163 #define HAL_SYSCFG_ITLINE12 ((uint32_t) 0x0000000C) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 164 #define HAL_SYSCFG_ITLINE13 ((uint32_t) 0x0000000D) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 165 #define HAL_SYSCFG_ITLINE14 ((uint32_t) 0x0000000E) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 166 #define HAL_SYSCFG_ITLINE15 ((uint32_t) 0x0000000F) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 167 #define HAL_SYSCFG_ITLINE16 ((uint32_t) 0x00000010) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 168 #define HAL_SYSCFG_ITLINE17 ((uint32_t) 0x00000011) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 169 #define HAL_SYSCFG_ITLINE18 ((uint32_t) 0x00000012) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 170 #define HAL_SYSCFG_ITLINE19 ((uint32_t) 0x00000013) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 171 #define HAL_SYSCFG_ITLINE20 ((uint32_t) 0x00000014) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 172 #define HAL_SYSCFG_ITLINE21 ((uint32_t) 0x00000015) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 173 #define HAL_SYSCFG_ITLINE22 ((uint32_t) 0x00000016) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 174 #define HAL_SYSCFG_ITLINE23 ((uint32_t) 0x00000017) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 175 #define HAL_SYSCFG_ITLINE24 ((uint32_t) 0x00000018) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 176 #define HAL_SYSCFG_ITLINE25 ((uint32_t) 0x00000019) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 177 #define HAL_SYSCFG_ITLINE26 ((uint32_t) 0x0000001A) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 178 #define HAL_SYSCFG_ITLINE27 ((uint32_t) 0x0000001B) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 179 #define HAL_SYSCFG_ITLINE28 ((uint32_t) 0x0000001C) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 180 #define HAL_SYSCFG_ITLINE29 ((uint32_t) 0x0000001D) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 181 #define HAL_SYSCFG_ITLINE30 ((uint32_t) 0x0000001E) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 182 #define HAL_SYSCFG_ITLINE31 ((uint32_t) 0x0000001F) /*!< Internal define for macro handling */
bogdanm 0:9b334a45a8ff 183
bogdanm 0:9b334a45a8ff 184 #define HAL_ITLINE_EWDG ((uint32_t) ((HAL_SYSCFG_ITLINE0 << 0x18) | SYSCFG_ITLINE0_SR_EWDG)) /*!< EWDG has expired .... */
bogdanm 0:9b334a45a8ff 185 #if defined(STM32F091xC)
bogdanm 0:9b334a45a8ff 186 #define HAL_ITLINE_PVDOUT ((uint32_t) ((HAL_SYSCFG_ITLINE1 << 0x18) | SYSCFG_ITLINE1_SR_PVDOUT)) /*!< Power voltage detection Interrupt .... */
bogdanm 0:9b334a45a8ff 187 #endif
bogdanm 0:9b334a45a8ff 188 #define HAL_ITLINE_VDDIO2 ((uint32_t) ((HAL_SYSCFG_ITLINE1 << 0x18) | SYSCFG_ITLINE1_SR_VDDIO2)) /*!< VDDIO2 Interrupt .... */
bogdanm 0:9b334a45a8ff 189 #define HAL_ITLINE_RTC_WAKEUP ((uint32_t) ((HAL_SYSCFG_ITLINE2 << 0x18) | SYSCFG_ITLINE2_SR_RTC_WAKEUP)) /*!< RTC WAKEUP -> exti[20] Interrupt */
bogdanm 0:9b334a45a8ff 190 #define HAL_ITLINE_RTC_TSTAMP ((uint32_t) ((HAL_SYSCFG_ITLINE2 << 0x18) | SYSCFG_ITLINE2_SR_RTC_TSTAMP)) /*!< RTC Time Stamp -> exti[19] interrupt */
bogdanm 0:9b334a45a8ff 191 #define HAL_ITLINE_RTC_ALRA ((uint32_t) ((HAL_SYSCFG_ITLINE2 << 0x18) | SYSCFG_ITLINE2_SR_RTC_ALRA)) /*!< RTC Alarm -> exti[17] interrupt .... */
bogdanm 0:9b334a45a8ff 192 #define HAL_ITLINE_FLASH_ITF ((uint32_t) ((HAL_SYSCFG_ITLINE3 << 0x18) | SYSCFG_ITLINE3_SR_FLASH_ITF)) /*!< Flash ITF Interrupt */
bogdanm 0:9b334a45a8ff 193 #define HAL_ITLINE_CRS ((uint32_t) ((HAL_SYSCFG_ITLINE4 << 0x18) | SYSCFG_ITLINE4_SR_CRS)) /*!< CRS Interrupt */
bogdanm 0:9b334a45a8ff 194 #define HAL_ITLINE_CLK_CTRL ((uint32_t) ((HAL_SYSCFG_ITLINE4 << 0x18) | SYSCFG_ITLINE4_SR_CLK_CTRL)) /*!< CLK Control Interrupt */
bogdanm 0:9b334a45a8ff 195 #define HAL_ITLINE_EXTI0 ((uint32_t) ((HAL_SYSCFG_ITLINE5 << 0x18) | SYSCFG_ITLINE5_SR_EXTI0)) /*!< External Interrupt 0 */
bogdanm 0:9b334a45a8ff 196 #define HAL_ITLINE_EXTI1 ((uint32_t) ((HAL_SYSCFG_ITLINE5 << 0x18) | SYSCFG_ITLINE5_SR_EXTI1)) /*!< External Interrupt 1 */
bogdanm 0:9b334a45a8ff 197 #define HAL_ITLINE_EXTI2 ((uint32_t) ((HAL_SYSCFG_ITLINE6 << 0x18) | SYSCFG_ITLINE6_SR_EXTI2)) /*!< External Interrupt 2 */
bogdanm 0:9b334a45a8ff 198 #define HAL_ITLINE_EXTI3 ((uint32_t) ((HAL_SYSCFG_ITLINE6 << 0x18) | SYSCFG_ITLINE6_SR_EXTI3)) /*!< External Interrupt 3 */
bogdanm 0:9b334a45a8ff 199 #define HAL_ITLINE_EXTI4 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI4)) /*!< EXTI4 Interrupt */
bogdanm 0:9b334a45a8ff 200 #define HAL_ITLINE_EXTI5 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI5)) /*!< EXTI5 Interrupt */
bogdanm 0:9b334a45a8ff 201 #define HAL_ITLINE_EXTI6 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI6)) /*!< EXTI6 Interrupt */
bogdanm 0:9b334a45a8ff 202 #define HAL_ITLINE_EXTI7 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI7)) /*!< EXTI7 Interrupt */
bogdanm 0:9b334a45a8ff 203 #define HAL_ITLINE_EXTI8 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI8)) /*!< EXTI8 Interrupt */
bogdanm 0:9b334a45a8ff 204 #define HAL_ITLINE_EXTI9 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI9)) /*!< EXTI9 Interrupt */
bogdanm 0:9b334a45a8ff 205 #define HAL_ITLINE_EXTI10 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI10)) /*!< EXTI10 Interrupt */
bogdanm 0:9b334a45a8ff 206 #define HAL_ITLINE_EXTI11 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI11)) /*!< EXTI11 Interrupt */
bogdanm 0:9b334a45a8ff 207 #define HAL_ITLINE_EXTI12 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI12)) /*!< EXTI12 Interrupt */
bogdanm 0:9b334a45a8ff 208 #define HAL_ITLINE_EXTI13 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI13)) /*!< EXTI13 Interrupt */
bogdanm 0:9b334a45a8ff 209 #define HAL_ITLINE_EXTI14 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI14)) /*!< EXTI14 Interrupt */
bogdanm 0:9b334a45a8ff 210 #define HAL_ITLINE_EXTI15 ((uint32_t) ((HAL_SYSCFG_ITLINE7 << 0x18) | SYSCFG_ITLINE7_SR_EXTI15)) /*!< EXTI15 Interrupt */
bogdanm 0:9b334a45a8ff 211 #define HAL_ITLINE_TSC_EOA ((uint32_t) ((HAL_SYSCFG_ITLINE8 << 0x18) | SYSCFG_ITLINE8_SR_TSC_EOA)) /*!< Touch control EOA Interrupt */
bogdanm 0:9b334a45a8ff 212 #define HAL_ITLINE_TSC_MCE ((uint32_t) ((HAL_SYSCFG_ITLINE8 << 0x18) | SYSCFG_ITLINE8_SR_TSC_MCE)) /*!< Touch control MCE Interrupt */
bogdanm 0:9b334a45a8ff 213 #define HAL_ITLINE_DMA1_CH1 ((uint32_t) ((HAL_SYSCFG_ITLINE9 << 0x18) | SYSCFG_ITLINE9_SR_DMA1_CH1)) /*!< DMA1 Channel 1 Interrupt */
bogdanm 0:9b334a45a8ff 214 #define HAL_ITLINE_DMA1_CH2 ((uint32_t) ((HAL_SYSCFG_ITLINE10 << 0x18) | SYSCFG_ITLINE10_SR_DMA1_CH2)) /*!< DMA1 Channel 2 Interrupt */
bogdanm 0:9b334a45a8ff 215 #define HAL_ITLINE_DMA1_CH3 ((uint32_t) ((HAL_SYSCFG_ITLINE10 << 0x18) | SYSCFG_ITLINE10_SR_DMA1_CH3)) /*!< DMA1 Channel 3 Interrupt */
bogdanm 0:9b334a45a8ff 216 #define HAL_ITLINE_DMA2_CH1 ((uint32_t) ((HAL_SYSCFG_ITLINE10 << 0x18) | SYSCFG_ITLINE10_SR_DMA2_CH1)) /*!< DMA2 Channel 1 Interrupt */
bogdanm 0:9b334a45a8ff 217 #define HAL_ITLINE_DMA2_CH2 ((uint32_t) ((HAL_SYSCFG_ITLINE10 << 0x18) | SYSCFG_ITLINE10_SR_DMA2_CH2)) /*!< DMA2 Channel 2 Interrupt */
bogdanm 0:9b334a45a8ff 218 #define HAL_ITLINE_DMA1_CH4 ((uint32_t) ((HAL_SYSCFG_ITLINE11 << 0x18) | SYSCFG_ITLINE11_SR_DMA1_CH4)) /*!< DMA1 Channel 4 Interrupt */
bogdanm 0:9b334a45a8ff 219 #define HAL_ITLINE_DMA1_CH5 ((uint32_t) ((HAL_SYSCFG_ITLINE11 << 0x18) | SYSCFG_ITLINE11_SR_DMA1_CH5)) /*!< DMA1 Channel 5 Interrupt */
bogdanm 0:9b334a45a8ff 220 #define HAL_ITLINE_DMA1_CH6 ((uint32_t) ((HAL_SYSCFG_ITLINE11 << 0x18) | SYSCFG_ITLINE11_SR_DMA1_CH6)) /*!< DMA1 Channel 6 Interrupt */
bogdanm 0:9b334a45a8ff 221 #define HAL_ITLINE_DMA1_CH7 ((uint32_t) ((HAL_SYSCFG_ITLINE11 << 0x18) | SYSCFG_ITLINE11_SR_DMA1_CH7)) /*!< DMA1 Channel 7 Interrupt */
bogdanm 0:9b334a45a8ff 222 #define HAL_ITLINE_DMA2_CH3 ((uint32_t) ((HAL_SYSCFG_ITLINE11 << 0x18) | SYSCFG_ITLINE11_SR_DMA2_CH3)) /*!< DMA2 Channel 3 Interrupt */
bogdanm 0:9b334a45a8ff 223 #define HAL_ITLINE_DMA2_CH4 ((uint32_t) ((HAL_SYSCFG_ITLINE11 << 0x18) | SYSCFG_ITLINE11_SR_DMA2_CH4)) /*!< DMA2 Channel 4 Interrupt */
bogdanm 0:9b334a45a8ff 224 #define HAL_ITLINE_DMA2_CH5 ((uint32_t) ((HAL_SYSCFG_ITLINE11 << 0x18) | SYSCFG_ITLINE11_SR_DMA2_CH5)) /*!< DMA2 Channel 5 Interrupt */
bogdanm 0:9b334a45a8ff 225 #define HAL_ITLINE_ADC ((uint32_t) ((HAL_SYSCFG_ITLINE12 << 0x18) | SYSCFG_ITLINE12_SR_ADC)) /*!< ADC Interrupt */
bogdanm 0:9b334a45a8ff 226 #define HAL_ITLINE_COMP1 ((uint32_t) ((HAL_SYSCFG_ITLINE12 << 0x18) | SYSCFG_ITLINE12_SR_COMP1)) /*!< COMP1 Interrupt -> exti[21] */
bogdanm 0:9b334a45a8ff 227 #define HAL_ITLINE_COMP2 ((uint32_t) ((HAL_SYSCFG_ITLINE12 << 0x18) | SYSCFG_ITLINE12_SR_COMP2)) /*!< COMP2 Interrupt -> exti[21] */
bogdanm 0:9b334a45a8ff 228 #define HAL_ITLINE_TIM1_BRK ((uint32_t) ((HAL_SYSCFG_ITLINE13 << 0x18) | SYSCFG_ITLINE13_SR_TIM1_BRK)) /*!< TIM1 BRK Interrupt */
bogdanm 0:9b334a45a8ff 229 #define HAL_ITLINE_TIM1_UPD ((uint32_t) ((HAL_SYSCFG_ITLINE13 << 0x18) | SYSCFG_ITLINE13_SR_TIM1_UPD)) /*!< TIM1 UPD Interrupt */
bogdanm 0:9b334a45a8ff 230 #define HAL_ITLINE_TIM1_TRG ((uint32_t) ((HAL_SYSCFG_ITLINE13 << 0x18) | SYSCFG_ITLINE13_SR_TIM1_TRG)) /*!< TIM1 TRG Interrupt */
bogdanm 0:9b334a45a8ff 231 #define HAL_ITLINE_TIM1_CCU ((uint32_t) ((HAL_SYSCFG_ITLINE13 << 0x18) | SYSCFG_ITLINE13_SR_TIM1_CCU)) /*!< TIM1 CCU Interrupt */
bogdanm 0:9b334a45a8ff 232 #define HAL_ITLINE_TIM1_CC ((uint32_t) ((HAL_SYSCFG_ITLINE14 << 0x18) | SYSCFG_ITLINE14_SR_TIM1_CC)) /*!< TIM1 CC Interrupt */
bogdanm 0:9b334a45a8ff 233 #define HAL_ITLINE_TIM2 ((uint32_t) ((HAL_SYSCFG_ITLINE15 << 0x18) | SYSCFG_ITLINE15_SR_TIM2_GLB)) /*!< TIM2 Interrupt */
bogdanm 0:9b334a45a8ff 234 #define HAL_ITLINE_TIM3 ((uint32_t) ((HAL_SYSCFG_ITLINE16 << 0x18) | SYSCFG_ITLINE16_SR_TIM3_GLB)) /*!< TIM3 Interrupt */
bogdanm 0:9b334a45a8ff 235 #define HAL_ITLINE_DAC ((uint32_t) ((HAL_SYSCFG_ITLINE17 << 0x18) | SYSCFG_ITLINE17_SR_DAC)) /*!< DAC Interrupt */
bogdanm 0:9b334a45a8ff 236 #define HAL_ITLINE_TIM6 ((uint32_t) ((HAL_SYSCFG_ITLINE17 << 0x18) | SYSCFG_ITLINE17_SR_TIM6_GLB)) /*!< TIM6 Interrupt */
bogdanm 0:9b334a45a8ff 237 #define HAL_ITLINE_TIM7 ((uint32_t) ((HAL_SYSCFG_ITLINE18 << 0x18) | SYSCFG_ITLINE18_SR_TIM7_GLB)) /*!< TIM7 Interrupt */
bogdanm 0:9b334a45a8ff 238 #define HAL_ITLINE_TIM14 ((uint32_t) ((HAL_SYSCFG_ITLINE19 << 0x18) | SYSCFG_ITLINE19_SR_TIM14_GLB)) /*!< TIM14 Interrupt */
bogdanm 0:9b334a45a8ff 239 #define HAL_ITLINE_TIM15 ((uint32_t) ((HAL_SYSCFG_ITLINE20 << 0x18) | SYSCFG_ITLINE20_SR_TIM15_GLB)) /*!< TIM15 Interrupt */
bogdanm 0:9b334a45a8ff 240 #define HAL_ITLINE_TIM16 ((uint32_t) ((HAL_SYSCFG_ITLINE21 << 0x18) | SYSCFG_ITLINE21_SR_TIM16_GLB)) /*!< TIM16 Interrupt */
bogdanm 0:9b334a45a8ff 241 #define HAL_ITLINE_TIM17 ((uint32_t) ((HAL_SYSCFG_ITLINE22 << 0x18) | SYSCFG_ITLINE22_SR_TIM17_GLB)) /*!< TIM17 Interrupt */
bogdanm 0:9b334a45a8ff 242 #define HAL_ITLINE_I2C1 ((uint32_t) ((HAL_SYSCFG_ITLINE23 << 0x18) | SYSCFG_ITLINE23_SR_I2C1_GLB)) /*!< I2C1 Interrupt -> exti[23] */
bogdanm 0:9b334a45a8ff 243 #define HAL_ITLINE_I2C2 ((uint32_t) ((HAL_SYSCFG_ITLINE24 << 0x18) | SYSCFG_ITLINE24_SR_I2C2_GLB)) /*!< I2C2 Interrupt */
bogdanm 0:9b334a45a8ff 244 #define HAL_ITLINE_SPI1 ((uint32_t) ((HAL_SYSCFG_ITLINE25 << 0x18) | SYSCFG_ITLINE25_SR_SPI1)) /*!< I2C1 Interrupt -> exti[23] */
bogdanm 0:9b334a45a8ff 245 #define HAL_ITLINE_SPI2 ((uint32_t) ((HAL_SYSCFG_ITLINE26 << 0x18) | SYSCFG_ITLINE26_SR_SPI2)) /*!< SPI1 Interrupt */
bogdanm 0:9b334a45a8ff 246 #define HAL_ITLINE_USART1 ((uint32_t) ((HAL_SYSCFG_ITLINE27 << 0x18) | SYSCFG_ITLINE27_SR_USART1_GLB)) /*!< USART1 GLB Interrupt -> exti[25] */
bogdanm 0:9b334a45a8ff 247 #define HAL_ITLINE_USART2 ((uint32_t) ((HAL_SYSCFG_ITLINE28 << 0x18) | SYSCFG_ITLINE28_SR_USART2_GLB)) /*!< USART2 GLB Interrupt -> exti[26] */
bogdanm 0:9b334a45a8ff 248 #define HAL_ITLINE_USART3 ((uint32_t) ((HAL_SYSCFG_ITLINE29 << 0x18) | SYSCFG_ITLINE29_SR_USART3_GLB)) /*!< USART3 Interrupt .... */
bogdanm 0:9b334a45a8ff 249 #define HAL_ITLINE_USART4 ((uint32_t) ((HAL_SYSCFG_ITLINE29 << 0x18) | SYSCFG_ITLINE29_SR_USART4_GLB)) /*!< USART4 Interrupt .... */
bogdanm 0:9b334a45a8ff 250 #define HAL_ITLINE_USART5 ((uint32_t) ((HAL_SYSCFG_ITLINE29 << 0x18) | SYSCFG_ITLINE29_SR_USART5_GLB)) /*!< USART5 Interrupt .... */
bogdanm 0:9b334a45a8ff 251 #define HAL_ITLINE_USART6 ((uint32_t) ((HAL_SYSCFG_ITLINE29 << 0x18) | SYSCFG_ITLINE29_SR_USART6_GLB)) /*!< USART6 Interrupt .... */
bogdanm 0:9b334a45a8ff 252 #define HAL_ITLINE_USART7 ((uint32_t) ((HAL_SYSCFG_ITLINE29 << 0x18) | SYSCFG_ITLINE29_SR_USART7_GLB)) /*!< USART7 Interrupt .... */
bogdanm 0:9b334a45a8ff 253 #define HAL_ITLINE_USART8 ((uint32_t) ((HAL_SYSCFG_ITLINE29 << 0x18) | SYSCFG_ITLINE29_SR_USART8_GLB)) /*!< USART8 Interrupt .... */
bogdanm 0:9b334a45a8ff 254 #define HAL_ITLINE_CAN ((uint32_t) ((HAL_SYSCFG_ITLINE30 << 0x18) | SYSCFG_ITLINE30_SR_CAN)) /*!< CAN Interrupt */
bogdanm 0:9b334a45a8ff 255 #define HAL_ITLINE_CEC ((uint32_t) ((HAL_SYSCFG_ITLINE30 << 0x18) | SYSCFG_ITLINE30_SR_CEC)) /*!< CEC Interrupt -> exti[27] */
bogdanm 0:9b334a45a8ff 256 /**
bogdanm 0:9b334a45a8ff 257 * @}
bogdanm 0:9b334a45a8ff 258 */
bogdanm 0:9b334a45a8ff 259 #endif /* STM32F091xC || STM32F098xx */
bogdanm 0:9b334a45a8ff 260
bogdanm 0:9b334a45a8ff 261 /**
bogdanm 0:9b334a45a8ff 262 * @}
bogdanm 0:9b334a45a8ff 263 */
bogdanm 0:9b334a45a8ff 264
bogdanm 0:9b334a45a8ff 265 /* Exported macros -----------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 266 /** @defgroup HAL_Exported_Macros HAL Exported Macros
bogdanm 0:9b334a45a8ff 267 * @{
bogdanm 0:9b334a45a8ff 268 */
bogdanm 0:9b334a45a8ff 269
bogdanm 0:9b334a45a8ff 270 /** @defgroup HAL_Freeze_Unfreeze_Peripherals HAL Freeze Unfreeze Peripherals
bogdanm 0:9b334a45a8ff 271 * @brief Freeze/Unfreeze Peripherals in Debug mode
bogdanm 0:9b334a45a8ff 272 * @{
bogdanm 0:9b334a45a8ff 273 */
bogdanm 0:9b334a45a8ff 274
bogdanm 0:9b334a45a8ff 275 #if defined(DBGMCU_APB1_FZ_DBG_CAN_STOP)
bogdanm 0:9b334a45a8ff 276 #define __HAL_FREEZE_CAN_DBGMCU() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_CAN_STOP))
bogdanm 0:9b334a45a8ff 277 #define __HAL_UNFREEZE_CAN_DBGMCU() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_CAN_STOP))
bogdanm 0:9b334a45a8ff 278 #endif /* DBGMCU_APB1_FZ_DBG_CAN_STOP */
bogdanm 0:9b334a45a8ff 279
bogdanm 0:9b334a45a8ff 280 #if defined(DBGMCU_APB1_FZ_DBG_RTC_STOP)
bogdanm 0:9b334a45a8ff 281 #define __HAL_DBGMCU_FREEZE_RTC() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_RTC_STOP))
bogdanm 0:9b334a45a8ff 282 #define __HAL_DBGMCU_UNFREEZE_RTC() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_RTC_STOP))
bogdanm 0:9b334a45a8ff 283 #endif /* DBGMCU_APB1_FZ_DBG_RTC_STOP */
bogdanm 0:9b334a45a8ff 284
bogdanm 0:9b334a45a8ff 285 #if defined(DBGMCU_APB1_FZ_DBG_I2C1_SMBUS_TIMEOUT)
bogdanm 0:9b334a45a8ff 286 #define __HAL_DBGMCU_FREEZE_I2C1_TIMEOUT() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_I2C1_SMBUS_TIMEOUT))
bogdanm 0:9b334a45a8ff 287 #define __HAL_DBGMCU_UNFREEZE_I2C1_TIMEOUT() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_I2C1_SMBUS_TIMEOUT))
bogdanm 0:9b334a45a8ff 288 #endif /* DBGMCU_APB1_FZ_DBG_I2C1_SMBUS_TIMEOUT */
bogdanm 0:9b334a45a8ff 289
bogdanm 0:9b334a45a8ff 290 #if defined(DBGMCU_APB1_FZ_DBG_IWDG_STOP)
bogdanm 0:9b334a45a8ff 291 #define __HAL_DBGMCU_FREEZE_IWDG() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_IWDG_STOP))
bogdanm 0:9b334a45a8ff 292 #define __HAL_DBGMCU_UNFREEZE_IWDG() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_IWDG_STOP))
bogdanm 0:9b334a45a8ff 293 #endif /* DBGMCU_APB1_FZ_DBG_IWDG_STOP */
bogdanm 0:9b334a45a8ff 294
bogdanm 0:9b334a45a8ff 295 #if defined(DBGMCU_APB1_FZ_DBG_WWDG_STOP)
bogdanm 0:9b334a45a8ff 296 #define __HAL_DBGMCU_FREEZE_WWDG() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_WWDG_STOP))
bogdanm 0:9b334a45a8ff 297 #define __HAL_DBGMCU_UNFREEZE_WWDG() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_WWDG_STOP))
bogdanm 0:9b334a45a8ff 298 #endif /* DBGMCU_APB1_FZ_DBG_WWDG_STOP */
bogdanm 0:9b334a45a8ff 299
bogdanm 0:9b334a45a8ff 300 #if defined(DBGMCU_APB1_FZ_DBG_TIM2_STOP)
bogdanm 0:9b334a45a8ff 301 #define __HAL_DBGMCU_FREEZE_TIM2() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_TIM2_STOP))
bogdanm 0:9b334a45a8ff 302 #define __HAL_DBGMCU_UNFREEZE_TIM2() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_TIM2_STOP))
bogdanm 0:9b334a45a8ff 303 #endif /* DBGMCU_APB1_FZ_DBG_TIM2_STOP */
bogdanm 0:9b334a45a8ff 304
bogdanm 0:9b334a45a8ff 305 #if defined(DBGMCU_APB1_FZ_DBG_TIM3_STOP)
bogdanm 0:9b334a45a8ff 306 #define __HAL_DBGMCU_FREEZE_TIM3() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_TIM3_STOP))
bogdanm 0:9b334a45a8ff 307 #define __HAL_DBGMCU_UNFREEZE_TIM3() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_TIM3_STOP))
bogdanm 0:9b334a45a8ff 308 #endif /* DBGMCU_APB1_FZ_DBG_TIM3_STOP */
bogdanm 0:9b334a45a8ff 309
bogdanm 0:9b334a45a8ff 310 #if defined(DBGMCU_APB1_FZ_DBG_TIM6_STOP)
bogdanm 0:9b334a45a8ff 311 #define __HAL_DBGMCU_FREEZE_TIM6() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_TIM6_STOP))
bogdanm 0:9b334a45a8ff 312 #define __HAL_DBGMCU_UNFREEZE_TIM6() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_TIM6_STOP))
bogdanm 0:9b334a45a8ff 313 #endif /* DBGMCU_APB1_FZ_DBG_TIM6_STOP */
bogdanm 0:9b334a45a8ff 314
bogdanm 0:9b334a45a8ff 315 #if defined(DBGMCU_APB1_FZ_DBG_TIM7_STOP)
bogdanm 0:9b334a45a8ff 316 #define __HAL_DBGMCU_FREEZE_TIM7() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_TIM7_STOP))
bogdanm 0:9b334a45a8ff 317 #define __HAL_DBGMCU_UNFREEZE_TIM7() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_TIM7_STOP))
bogdanm 0:9b334a45a8ff 318 #endif /* DBGMCU_APB1_FZ_DBG_TIM7_STOP */
bogdanm 0:9b334a45a8ff 319
bogdanm 0:9b334a45a8ff 320 #if defined(DBGMCU_APB1_FZ_DBG_TIM14_STOP)
bogdanm 0:9b334a45a8ff 321 #define __HAL_DBGMCU_FREEZE_TIM14() (DBGMCU->APB1FZ |= (DBGMCU_APB1_FZ_DBG_TIM14_STOP))
bogdanm 0:9b334a45a8ff 322 #define __HAL_DBGMCU_UNFREEZE_TIM14() (DBGMCU->APB1FZ &= ~(DBGMCU_APB1_FZ_DBG_TIM14_STOP))
bogdanm 0:9b334a45a8ff 323 #endif /* DBGMCU_APB1_FZ_DBG_TIM14_STOP */
bogdanm 0:9b334a45a8ff 324
bogdanm 0:9b334a45a8ff 325 #if defined(DBGMCU_APB2_FZ_DBG_TIM1_STOP)
bogdanm 0:9b334a45a8ff 326 #define __HAL_DBGMCU_FREEZE_TIM1() (DBGMCU->APB2FZ |= (DBGMCU_APB2_FZ_DBG_TIM1_STOP))
bogdanm 0:9b334a45a8ff 327 #define __HAL_DBGMCU_UNFREEZE_TIM1() (DBGMCU->APB2FZ &= ~(DBGMCU_APB2_FZ_DBG_TIM1_STOP))
bogdanm 0:9b334a45a8ff 328 #endif /* DBGMCU_APB2_FZ_DBG_TIM1_STOP */
bogdanm 0:9b334a45a8ff 329
bogdanm 0:9b334a45a8ff 330 #if defined(DBGMCU_APB2_FZ_DBG_TIM15_STOP)
bogdanm 0:9b334a45a8ff 331 #define __HAL_DBGMCU_FREEZE_TIM15() (DBGMCU->APB2FZ |= (DBGMCU_APB2_FZ_DBG_TIM15_STOP))
bogdanm 0:9b334a45a8ff 332 #define __HAL_DBGMCU_UNFREEZE_TIM15() (DBGMCU->APB2FZ &= ~(DBGMCU_APB2_FZ_DBG_TIM15_STOP))
bogdanm 0:9b334a45a8ff 333 #endif /* DBGMCU_APB2_FZ_DBG_TIM15_STOP */
bogdanm 0:9b334a45a8ff 334
bogdanm 0:9b334a45a8ff 335 #if defined(DBGMCU_APB2_FZ_DBG_TIM16_STOP)
bogdanm 0:9b334a45a8ff 336 #define __HAL_DBGMCU_FREEZE_TIM16() (DBGMCU->APB2FZ |= (DBGMCU_APB2_FZ_DBG_TIM16_STOP))
bogdanm 0:9b334a45a8ff 337 #define __HAL_DBGMCU_UNFREEZE_TIM16() (DBGMCU->APB2FZ &= ~(DBGMCU_APB2_FZ_DBG_TIM16_STOP))
bogdanm 0:9b334a45a8ff 338 #endif /* DBGMCU_APB2_FZ_DBG_TIM16_STOP */
bogdanm 0:9b334a45a8ff 339
bogdanm 0:9b334a45a8ff 340 #if defined(DBGMCU_APB2_FZ_DBG_TIM17_STOP)
bogdanm 0:9b334a45a8ff 341 #define __HAL_DBGMCU_FREEZE_TIM17() (DBGMCU->APB2FZ |= (DBGMCU_APB2_FZ_DBG_TIM17_STOP))
bogdanm 0:9b334a45a8ff 342 #define __HAL_DBGMCU_UNFREEZE_TIM17() (DBGMCU->APB2FZ &= ~(DBGMCU_APB2_FZ_DBG_TIM17_STOP))
bogdanm 0:9b334a45a8ff 343 #endif /* DBGMCU_APB2_FZ_DBG_TIM17_STOP */
bogdanm 0:9b334a45a8ff 344
bogdanm 0:9b334a45a8ff 345 /**
bogdanm 0:9b334a45a8ff 346 * @}
bogdanm 0:9b334a45a8ff 347 */
bogdanm 0:9b334a45a8ff 348
bogdanm 0:9b334a45a8ff 349 /** @defgroup Memory_Mapping_Selection Memory Mapping Selection
bogdanm 0:9b334a45a8ff 350 * @{
bogdanm 0:9b334a45a8ff 351 */
bogdanm 0:9b334a45a8ff 352 #if defined(SYSCFG_CFGR1_MEM_MODE)
bogdanm 0:9b334a45a8ff 353 /** @brief Main Flash memory mapped at 0x00000000
bogdanm 0:9b334a45a8ff 354 */
bogdanm 0:9b334a45a8ff 355 #define __HAL_SYSCFG_REMAPMEMORY_FLASH() (SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_MEM_MODE))
bogdanm 0:9b334a45a8ff 356 #endif /* SYSCFG_CFGR1_MEM_MODE */
bogdanm 0:9b334a45a8ff 357
bogdanm 0:9b334a45a8ff 358 #if defined(SYSCFG_CFGR1_MEM_MODE_0)
bogdanm 0:9b334a45a8ff 359 /** @brief System Flash memory mapped at 0x00000000
bogdanm 0:9b334a45a8ff 360 */
bogdanm 0:9b334a45a8ff 361 #define __HAL_SYSCFG_REMAPMEMORY_SYSTEMFLASH() do {SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_MEM_MODE); \
bogdanm 0:9b334a45a8ff 362 SYSCFG->CFGR1 |= SYSCFG_CFGR1_MEM_MODE_0; \
bogdanm 0:9b334a45a8ff 363 }while(0)
bogdanm 0:9b334a45a8ff 364 #endif /* SYSCFG_CFGR1_MEM_MODE_0 */
bogdanm 0:9b334a45a8ff 365
bogdanm 0:9b334a45a8ff 366 #if defined(SYSCFG_CFGR1_MEM_MODE_0) && defined(SYSCFG_CFGR1_MEM_MODE_1)
bogdanm 0:9b334a45a8ff 367 /** @brief Embedded SRAM mapped at 0x00000000
bogdanm 0:9b334a45a8ff 368 */
bogdanm 0:9b334a45a8ff 369 #define __HAL_SYSCFG_REMAPMEMORY_SRAM() do {SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_MEM_MODE); \
bogdanm 0:9b334a45a8ff 370 SYSCFG->CFGR1 |= (SYSCFG_CFGR1_MEM_MODE_0 | SYSCFG_CFGR1_MEM_MODE_1); \
bogdanm 0:9b334a45a8ff 371 }while(0)
bogdanm 0:9b334a45a8ff 372 #endif /* SYSCFG_CFGR1_MEM_MODE_0 && SYSCFG_CFGR1_MEM_MODE_1 */
bogdanm 0:9b334a45a8ff 373 /**
bogdanm 0:9b334a45a8ff 374 * @}
bogdanm 0:9b334a45a8ff 375 */
bogdanm 0:9b334a45a8ff 376
bogdanm 0:9b334a45a8ff 377
bogdanm 0:9b334a45a8ff 378 #if defined(SYSCFG_CFGR1_PA11_PA12_RMP)
bogdanm 0:9b334a45a8ff 379 /** @defgroup HAL_Pin_remap HAL Pin remap
bogdanm 0:9b334a45a8ff 380 * @brief Pin remapping enable/disable macros
bogdanm 0:9b334a45a8ff 381 * @param __PIN_REMAP__: This parameter can be a value of @ref HAL_Pin_remapping
bogdanm 0:9b334a45a8ff 382 * @{
bogdanm 0:9b334a45a8ff 383 */
bogdanm 0:9b334a45a8ff 384 #define __HAL_REMAP_PIN_ENABLE(__PIN_REMAP__) do {assert_param(IS_HAL_REMAP_PIN((__PIN_REMAP__))); \
bogdanm 0:9b334a45a8ff 385 SYSCFG->CFGR1 |= (__PIN_REMAP__); \
bogdanm 0:9b334a45a8ff 386 }while(0)
bogdanm 0:9b334a45a8ff 387 #define __HAL_REMAP_PIN_DISABLE(__PIN_REMAP__) do {assert_param(IS_HAL_REMAP_PIN((__PIN_REMAP__))); \
bogdanm 0:9b334a45a8ff 388 SYSCFG->CFGR1 &= ~(__PIN_REMAP__); \
bogdanm 0:9b334a45a8ff 389 }while(0)
bogdanm 0:9b334a45a8ff 390 /**
bogdanm 0:9b334a45a8ff 391 * @}
bogdanm 0:9b334a45a8ff 392 */
bogdanm 0:9b334a45a8ff 393 #endif /* SYSCFG_CFGR1_PA11_PA12_RMP */
bogdanm 0:9b334a45a8ff 394
bogdanm 0:9b334a45a8ff 395 /** @brief Fast-mode Plus driving capability enable/disable macros
bogdanm 0:9b334a45a8ff 396 * @param __FASTMODEPLUS__: This parameter can be a value of @ref SYSCFG_FastModePlus_GPIO values.
bogdanm 0:9b334a45a8ff 397 * That you can find above these macros.
bogdanm 0:9b334a45a8ff 398 */
bogdanm 0:9b334a45a8ff 399 #define __HAL_SYSCFG_FASTMODEPLUS_ENABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\
bogdanm 0:9b334a45a8ff 400 SET_BIT(SYSCFG->CFGR1, (__FASTMODEPLUS__));\
bogdanm 0:9b334a45a8ff 401 }while(0)
bogdanm 0:9b334a45a8ff 402
bogdanm 0:9b334a45a8ff 403 #define __HAL_SYSCFG_FASTMODEPLUS_DISABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\
bogdanm 0:9b334a45a8ff 404 CLEAR_BIT(SYSCFG->CFGR1, (__FASTMODEPLUS__));\
bogdanm 0:9b334a45a8ff 405 }while(0)
bogdanm 0:9b334a45a8ff 406 #if defined(SYSCFG_CFGR2_LOCKUP_LOCK)
bogdanm 0:9b334a45a8ff 407 /** @defgroup Cortex_Lockup_Enable Cortex Lockup Enable
bogdanm 0:9b334a45a8ff 408 * @{
bogdanm 0:9b334a45a8ff 409 */
bogdanm 0:9b334a45a8ff 410 /** @brief SYSCFG Break Lockup lock
bogdanm 0:9b334a45a8ff 411 * Enables and locks the connection of Cortex-M0 LOCKUP (Hardfault) output to TIM1/15/16/17 Break input
bogdanm 0:9b334a45a8ff 412 * @note The selected configuration is locked and can be unlocked by system reset
bogdanm 0:9b334a45a8ff 413 */
bogdanm 0:9b334a45a8ff 414 #define __HAL_SYSCFG_BREAK_LOCKUP_LOCK() do {SYSCFG->CFGR2 &= ~(SYSCFG_CFGR2_LOCKUP_LOCK); \
bogdanm 0:9b334a45a8ff 415 SYSCFG->CFGR2 |= SYSCFG_CFGR2_LOCKUP_LOCK; \
bogdanm 0:9b334a45a8ff 416 }while(0)
bogdanm 0:9b334a45a8ff 417 /**
bogdanm 0:9b334a45a8ff 418 * @}
bogdanm 0:9b334a45a8ff 419 */
bogdanm 0:9b334a45a8ff 420 #endif /* SYSCFG_CFGR2_LOCKUP_LOCK */
bogdanm 0:9b334a45a8ff 421
bogdanm 0:9b334a45a8ff 422 #if defined(SYSCFG_CFGR2_PVD_LOCK)
bogdanm 0:9b334a45a8ff 423 /** @defgroup PVD_Lock_Enable PVD Lock
bogdanm 0:9b334a45a8ff 424 * @{
bogdanm 0:9b334a45a8ff 425 */
bogdanm 0:9b334a45a8ff 426 /** @brief SYSCFG Break PVD lock
bogdanm 0:9b334a45a8ff 427 * Enables and locks the PVD connection with Timer1/8/15/16/17 Break Input, , as well as the PVDE and PLS[2:0] in the PWR_CR register
bogdanm 0:9b334a45a8ff 428 * @note The selected configuration is locked and can be unlocked by system reset
bogdanm 0:9b334a45a8ff 429 */
bogdanm 0:9b334a45a8ff 430 #define __HAL_SYSCFG_BREAK_PVD_LOCK() do {SYSCFG->CFGR2 &= ~(SYSCFG_CFGR2_PVD_LOCK); \
bogdanm 0:9b334a45a8ff 431 SYSCFG->CFGR2 |= SYSCFG_CFGR2_PVD_LOCK; \
bogdanm 0:9b334a45a8ff 432 }while(0)
bogdanm 0:9b334a45a8ff 433 /**
bogdanm 0:9b334a45a8ff 434 * @}
bogdanm 0:9b334a45a8ff 435 */
bogdanm 0:9b334a45a8ff 436 #endif /* SYSCFG_CFGR2_PVD_LOCK */
bogdanm 0:9b334a45a8ff 437
bogdanm 0:9b334a45a8ff 438 #if defined(SYSCFG_CFGR2_SRAM_PARITY_LOCK)
bogdanm 0:9b334a45a8ff 439 /** @defgroup SRAM_Parity_Lock SRAM Parity Lock
bogdanm 0:9b334a45a8ff 440 * @{
bogdanm 0:9b334a45a8ff 441 */
bogdanm 0:9b334a45a8ff 442 /** @brief SYSCFG Break SRAM PARITY lock
bogdanm 0:9b334a45a8ff 443 * Enables and locks the SRAM_PARITY error signal with Break Input of TIMER1/8/15/16/17
bogdanm 0:9b334a45a8ff 444 * @note The selected configuration is locked and can be unlocked by system reset
bogdanm 0:9b334a45a8ff 445 */
bogdanm 0:9b334a45a8ff 446 #define __HAL_SYSCFG_BREAK_SRAMPARITY_LOCK() do {SYSCFG->CFGR2 &= ~(SYSCFG_CFGR2_SRAM_PARITY_LOCK); \
bogdanm 0:9b334a45a8ff 447 SYSCFG->CFGR2 |= SYSCFG_CFGR2_SRAM_PARITY_LOCK; \
bogdanm 0:9b334a45a8ff 448 }while(0)
bogdanm 0:9b334a45a8ff 449 /**
bogdanm 0:9b334a45a8ff 450 * @}
bogdanm 0:9b334a45a8ff 451 */
bogdanm 0:9b334a45a8ff 452 #endif /* SYSCFG_CFGR2_SRAM_PARITY_LOCK */
bogdanm 0:9b334a45a8ff 453
bogdanm 0:9b334a45a8ff 454 #if defined(SYSCFG_CFGR2_SRAM_PEF)
bogdanm 0:9b334a45a8ff 455 /** @defgroup HAL_SYSCFG_Parity_check_on_RAM HAL SYSCFG Parity check on RAM
bogdanm 0:9b334a45a8ff 456 * @brief Parity check on RAM disable macro
bogdanm 0:9b334a45a8ff 457 * @note Disabling the parity check on RAM locks the configuration bit.
bogdanm 0:9b334a45a8ff 458 * To re-enable the parity check on RAM perform a system reset.
bogdanm 0:9b334a45a8ff 459 * @{
bogdanm 0:9b334a45a8ff 460 */
bogdanm 0:9b334a45a8ff 461 #define __HAL_SYSCFG_RAM_PARITYCHECK_DISABLE() (SYSCFG->CFGR2 |= SYSCFG_CFGR2_SRAM_PEF)
bogdanm 0:9b334a45a8ff 462 /**
bogdanm 0:9b334a45a8ff 463 * @}
bogdanm 0:9b334a45a8ff 464 */
bogdanm 0:9b334a45a8ff 465 #endif /* SYSCFG_CFGR2_SRAM_PEF */
bogdanm 0:9b334a45a8ff 466
bogdanm 0:9b334a45a8ff 467
bogdanm 0:9b334a45a8ff 468 #if defined(STM32F091xC) || defined (STM32F098xx)
bogdanm 0:9b334a45a8ff 469 /** @defgroup HAL_ISR_wrapper_check HAL ISR wrapper check
bogdanm 0:9b334a45a8ff 470 * @brief ISR wrapper check
bogdanm 0:9b334a45a8ff 471 * @note This feature is applicable on STM32F09x
bogdanm 0:9b334a45a8ff 472 * @note Allow to determine interrupt source per line.
bogdanm 0:9b334a45a8ff 473 * @{
bogdanm 0:9b334a45a8ff 474 */
bogdanm 0:9b334a45a8ff 475 #define __HAL_GET_PENDING_IT(__SOURCE__) (SYSCFG->IT_LINE_SR[((__SOURCE__) >> 0x18)] & ((__SOURCE__) & 0x00FFFFFF))
bogdanm 0:9b334a45a8ff 476 /**
bogdanm 0:9b334a45a8ff 477 * @}
bogdanm 0:9b334a45a8ff 478 */
bogdanm 0:9b334a45a8ff 479 #endif /* (STM32F091xC) || defined (STM32F098xx)*/
bogdanm 0:9b334a45a8ff 480
bogdanm 0:9b334a45a8ff 481 #if defined(STM32F091xC) || defined (STM32F098xx)
bogdanm 0:9b334a45a8ff 482 /** @defgroup HAL_SYSCFG_IRDA_modulation_envelope_selection HAL SYSCFG IRDA modulation envelope selection
bogdanm 0:9b334a45a8ff 483 * @brief selection of the modulation envelope signal macro, using bits [7:6] of SYS_CTRL(CFGR1) register
bogdanm 0:9b334a45a8ff 484 * @note This feature is applicable on STM32F09x
bogdanm 0:9b334a45a8ff 485 * @param __SOURCE__: This parameter can be a value of @ref HAL_IRDA_ENV_SEL
bogdanm 0:9b334a45a8ff 486 * @{
bogdanm 0:9b334a45a8ff 487 */
bogdanm 0:9b334a45a8ff 488 #define __HAL_SYSCFG_IRDA_ENV_SELECTION(__SOURCE__) do {assert_param(IS_HAL_SYSCFG_IRDA_ENV_SEL((__SOURCE__))); \
bogdanm 0:9b334a45a8ff 489 SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_IRDA_ENV_SEL); \
bogdanm 0:9b334a45a8ff 490 SYSCFG->CFGR1 |= (__SOURCE__); \
bogdanm 0:9b334a45a8ff 491 }while(0)
bogdanm 0:9b334a45a8ff 492
bogdanm 0:9b334a45a8ff 493 #define __HAL_SYSCFG_GET_IRDA_ENV_SELECTION() ((SYSCFG->CFGR1) & 0x000000C0)
bogdanm 0:9b334a45a8ff 494 /**
bogdanm 0:9b334a45a8ff 495 * @}
bogdanm 0:9b334a45a8ff 496 */
bogdanm 0:9b334a45a8ff 497 #endif /* (STM32F091xC) || defined (STM32F098xx)*/
bogdanm 0:9b334a45a8ff 498
bogdanm 0:9b334a45a8ff 499 /**
bogdanm 0:9b334a45a8ff 500 * @}
bogdanm 0:9b334a45a8ff 501 */
bogdanm 0:9b334a45a8ff 502
bogdanm 0:9b334a45a8ff 503 /* Exported functions --------------------------------------------------------*/
bogdanm 0:9b334a45a8ff 504
bogdanm 0:9b334a45a8ff 505 /** @addtogroup HAL_Exported_Functions
bogdanm 0:9b334a45a8ff 506 * @{
bogdanm 0:9b334a45a8ff 507 */
bogdanm 0:9b334a45a8ff 508
bogdanm 0:9b334a45a8ff 509 /** @addtogroup HAL_Exported_Functions_Group1
bogdanm 0:9b334a45a8ff 510 * @{
bogdanm 0:9b334a45a8ff 511 */
bogdanm 0:9b334a45a8ff 512 /* Initialization and de-initialization functions ******************************/
bogdanm 0:9b334a45a8ff 513 HAL_StatusTypeDef HAL_Init(void);
bogdanm 0:9b334a45a8ff 514 HAL_StatusTypeDef HAL_DeInit(void);
bogdanm 0:9b334a45a8ff 515 void HAL_MspInit(void);
bogdanm 0:9b334a45a8ff 516 void HAL_MspDeInit(void);
bogdanm 0:9b334a45a8ff 517 HAL_StatusTypeDef HAL_InitTick (uint32_t TickPriority);
bogdanm 0:9b334a45a8ff 518 /**
bogdanm 0:9b334a45a8ff 519 * @}
bogdanm 0:9b334a45a8ff 520 */
bogdanm 0:9b334a45a8ff 521
bogdanm 0:9b334a45a8ff 522 /** @addtogroup HAL_Exported_Functions_Group2
bogdanm 0:9b334a45a8ff 523 * @{
bogdanm 0:9b334a45a8ff 524 */
bogdanm 0:9b334a45a8ff 525
bogdanm 0:9b334a45a8ff 526 /* Peripheral Control functions ************************************************/
bogdanm 0:9b334a45a8ff 527 void HAL_IncTick(void);
bogdanm 0:9b334a45a8ff 528 void HAL_Delay(__IO uint32_t Delay);
bogdanm 0:9b334a45a8ff 529 uint32_t HAL_GetTick(void);
bogdanm 0:9b334a45a8ff 530 void HAL_SuspendTick(void);
bogdanm 0:9b334a45a8ff 531 void HAL_ResumeTick(void);
bogdanm 0:9b334a45a8ff 532 uint32_t HAL_GetHalVersion(void);
bogdanm 0:9b334a45a8ff 533 uint32_t HAL_GetREVID(void);
bogdanm 0:9b334a45a8ff 534 uint32_t HAL_GetDEVID(void);
bogdanm 0:9b334a45a8ff 535 void HAL_DBGMCU_EnableDBGStopMode(void);
bogdanm 0:9b334a45a8ff 536 void HAL_DBGMCU_DisableDBGStopMode(void);
bogdanm 0:9b334a45a8ff 537 void HAL_DBGMCU_EnableDBGStandbyMode(void);
bogdanm 0:9b334a45a8ff 538 void HAL_DBGMCU_DisableDBGStandbyMode(void);
bogdanm 0:9b334a45a8ff 539 /**
bogdanm 0:9b334a45a8ff 540 * @}
bogdanm 0:9b334a45a8ff 541 */
bogdanm 0:9b334a45a8ff 542
bogdanm 0:9b334a45a8ff 543 /**
bogdanm 0:9b334a45a8ff 544 * @}
bogdanm 0:9b334a45a8ff 545 */
bogdanm 0:9b334a45a8ff 546
bogdanm 0:9b334a45a8ff 547 /**
bogdanm 0:9b334a45a8ff 548 * @}
bogdanm 0:9b334a45a8ff 549 */
bogdanm 0:9b334a45a8ff 550
bogdanm 0:9b334a45a8ff 551 /**
bogdanm 0:9b334a45a8ff 552 * @}
bogdanm 0:9b334a45a8ff 553 */
bogdanm 0:9b334a45a8ff 554
bogdanm 0:9b334a45a8ff 555 #ifdef __cplusplus
bogdanm 0:9b334a45a8ff 556 }
bogdanm 0:9b334a45a8ff 557 #endif
bogdanm 0:9b334a45a8ff 558
bogdanm 0:9b334a45a8ff 559 #endif /* __STM32F0xx_HAL_H */
bogdanm 0:9b334a45a8ff 560
bogdanm 0:9b334a45a8ff 561 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/