mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Jul 02 16:30:08 2015 +0100
Revision:
581:39197bcd20f2
Parent:
489:119543c9f674
Synchronized with git revision ae2d3cdffe70184eb8736d94f76c45c93f4b7724

Full URL: https://github.com/mbedmicro/mbed/commit/ae2d3cdffe70184eb8736d94f76c45c93f4b7724/

Make it possible to build the core mbed library with yotta

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 489:119543c9f674 1 /**
mbed_official 489:119543c9f674 2 ******************************************************************************
mbed_official 489:119543c9f674 3 * @file stm32f1xx_hal_dac_ex.h
mbed_official 489:119543c9f674 4 * @author MCD Application Team
mbed_official 489:119543c9f674 5 * @version V1.0.0
mbed_official 489:119543c9f674 6 * @date 15-December-2014
mbed_official 489:119543c9f674 7 * @brief Header file of DAC HAL Extension module.
mbed_official 489:119543c9f674 8 ******************************************************************************
mbed_official 489:119543c9f674 9 * @attention
mbed_official 489:119543c9f674 10 *
mbed_official 489:119543c9f674 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 489:119543c9f674 12 *
mbed_official 489:119543c9f674 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 489:119543c9f674 14 * are permitted provided that the following conditions are met:
mbed_official 489:119543c9f674 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 489:119543c9f674 16 * this list of conditions and the following disclaimer.
mbed_official 489:119543c9f674 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 489:119543c9f674 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 489:119543c9f674 19 * and/or other materials provided with the distribution.
mbed_official 489:119543c9f674 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 489:119543c9f674 21 * may be used to endorse or promote products derived from this software
mbed_official 489:119543c9f674 22 * without specific prior written permission.
mbed_official 489:119543c9f674 23 *
mbed_official 489:119543c9f674 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 489:119543c9f674 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 489:119543c9f674 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 489:119543c9f674 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 489:119543c9f674 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 489:119543c9f674 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 489:119543c9f674 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 489:119543c9f674 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 489:119543c9f674 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 489:119543c9f674 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 489:119543c9f674 34 *
mbed_official 489:119543c9f674 35 ******************************************************************************
mbed_official 489:119543c9f674 36 */
mbed_official 489:119543c9f674 37
mbed_official 489:119543c9f674 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 489:119543c9f674 39 #ifndef __STM32F1xx_HAL_DAC_EX_H
mbed_official 489:119543c9f674 40 #define __STM32F1xx_HAL_DAC_EX_H
mbed_official 489:119543c9f674 41
mbed_official 489:119543c9f674 42 #ifdef __cplusplus
mbed_official 489:119543c9f674 43 extern "C" {
mbed_official 489:119543c9f674 44 #endif
mbed_official 489:119543c9f674 45
mbed_official 489:119543c9f674 46 #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
mbed_official 489:119543c9f674 47
mbed_official 489:119543c9f674 48 /* Includes ------------------------------------------------------------------*/
mbed_official 489:119543c9f674 49 #include "stm32f1xx_hal_def.h"
mbed_official 489:119543c9f674 50
mbed_official 489:119543c9f674 51 /** @addtogroup STM32F1xx_HAL_Driver
mbed_official 489:119543c9f674 52 * @{
mbed_official 489:119543c9f674 53 */
mbed_official 489:119543c9f674 54
mbed_official 489:119543c9f674 55 /** @addtogroup DACEx
mbed_official 489:119543c9f674 56 * @{
mbed_official 489:119543c9f674 57 */
mbed_official 489:119543c9f674 58
mbed_official 489:119543c9f674 59 /* Exported types ------------------------------------------------------------*/
mbed_official 489:119543c9f674 60
mbed_official 489:119543c9f674 61 /* Exported constants --------------------------------------------------------*/
mbed_official 489:119543c9f674 62
mbed_official 489:119543c9f674 63 /** @defgroup DACEx_Exported_Constants DACEx Exported Constants
mbed_official 489:119543c9f674 64 * @{
mbed_official 489:119543c9f674 65 */
mbed_official 489:119543c9f674 66
mbed_official 489:119543c9f674 67 /** @defgroup DACEx_wave_generation DACEx wave generation
mbed_official 489:119543c9f674 68 * @{
mbed_official 489:119543c9f674 69 */
mbed_official 489:119543c9f674 70 #define DAC_WAVEGENERATION_NOISE ((uint32_t)DAC_CR_WAVE1_0)
mbed_official 489:119543c9f674 71 #define DAC_WAVEGENERATION_TRIANGLE ((uint32_t)DAC_CR_WAVE1_1)
mbed_official 489:119543c9f674 72
mbed_official 489:119543c9f674 73 /**
mbed_official 489:119543c9f674 74 * @}
mbed_official 489:119543c9f674 75 */
mbed_official 489:119543c9f674 76
mbed_official 489:119543c9f674 77 /** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangleamplitude
mbed_official 489:119543c9f674 78 * @{
mbed_official 489:119543c9f674 79 */
mbed_official 489:119543c9f674 80 #define DAC_LFSRUNMASK_BIT0 ((uint32_t)0x00000000) /*!< Unmask DAC channel LFSR bit0 for noise wave generation */
mbed_official 489:119543c9f674 81 #define DAC_LFSRUNMASK_BITS1_0 ((uint32_t)DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */
mbed_official 489:119543c9f674 82 #define DAC_LFSRUNMASK_BITS2_0 ((uint32_t)DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */
mbed_official 489:119543c9f674 83 #define DAC_LFSRUNMASK_BITS3_0 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)/*!< Unmask DAC channel LFSR bit[3:0] for noise wave generation */
mbed_official 489:119543c9f674 84 #define DAC_LFSRUNMASK_BITS4_0 ((uint32_t)DAC_CR_MAMP1_2) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */
mbed_official 489:119543c9f674 85 #define DAC_LFSRUNMASK_BITS5_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[5:0] for noise wave generation */
mbed_official 489:119543c9f674 86 #define DAC_LFSRUNMASK_BITS6_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[6:0] for noise wave generation */
mbed_official 489:119543c9f674 87 #define DAC_LFSRUNMASK_BITS7_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[7:0] for noise wave generation */
mbed_official 489:119543c9f674 88 #define DAC_LFSRUNMASK_BITS8_0 ((uint32_t)DAC_CR_MAMP1_3) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */
mbed_official 489:119543c9f674 89 #define DAC_LFSRUNMASK_BITS9_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[9:0] for noise wave generation */
mbed_official 489:119543c9f674 90 #define DAC_LFSRUNMASK_BITS10_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[10:0] for noise wave generation */
mbed_official 489:119543c9f674 91 #define DAC_LFSRUNMASK_BITS11_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[11:0] for noise wave generation */
mbed_official 489:119543c9f674 92 #define DAC_TRIANGLEAMPLITUDE_1 ((uint32_t)0x00000000) /*!< Select max triangle amplitude of 1 */
mbed_official 489:119543c9f674 93 #define DAC_TRIANGLEAMPLITUDE_3 ((uint32_t)DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 3 */
mbed_official 489:119543c9f674 94 #define DAC_TRIANGLEAMPLITUDE_7 ((uint32_t)DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 7 */
mbed_official 489:119543c9f674 95 #define DAC_TRIANGLEAMPLITUDE_15 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 15 */
mbed_official 489:119543c9f674 96 #define DAC_TRIANGLEAMPLITUDE_31 ((uint32_t)DAC_CR_MAMP1_2) /*!< Select max triangle amplitude of 31 */
mbed_official 489:119543c9f674 97 #define DAC_TRIANGLEAMPLITUDE_63 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 63 */
mbed_official 489:119543c9f674 98 #define DAC_TRIANGLEAMPLITUDE_127 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 127 */
mbed_official 489:119543c9f674 99 #define DAC_TRIANGLEAMPLITUDE_255 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 255 */
mbed_official 489:119543c9f674 100 #define DAC_TRIANGLEAMPLITUDE_511 ((uint32_t)DAC_CR_MAMP1_3) /*!< Select max triangle amplitude of 511 */
mbed_official 489:119543c9f674 101 #define DAC_TRIANGLEAMPLITUDE_1023 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 1023 */
mbed_official 489:119543c9f674 102 #define DAC_TRIANGLEAMPLITUDE_2047 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 2047 */
mbed_official 489:119543c9f674 103 #define DAC_TRIANGLEAMPLITUDE_4095 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 4095 */
mbed_official 489:119543c9f674 104
mbed_official 489:119543c9f674 105 /**
mbed_official 489:119543c9f674 106 * @}
mbed_official 489:119543c9f674 107 */
mbed_official 489:119543c9f674 108
mbed_official 489:119543c9f674 109 /** @defgroup DACEx_wave_generation DACEx wave generation
mbed_official 489:119543c9f674 110 * @{
mbed_official 489:119543c9f674 111 */
mbed_official 489:119543c9f674 112 #define DAC_WAVE_NOISE ((uint32_t)DAC_CR_WAVE1_0)
mbed_official 489:119543c9f674 113 #define DAC_WAVE_TRIANGLE ((uint32_t)DAC_CR_WAVE1_1)
mbed_official 489:119543c9f674 114
mbed_official 489:119543c9f674 115 /**
mbed_official 489:119543c9f674 116 * @}
mbed_official 489:119543c9f674 117 */
mbed_official 489:119543c9f674 118
mbed_official 489:119543c9f674 119 /** @defgroup DACEx_trigger_selection DAC trigger selection
mbed_official 489:119543c9f674 120 * @{
mbed_official 489:119543c9f674 121 */
mbed_official 489:119543c9f674 122 #define DAC_TRIGGER_NONE ((uint32_t)0x00000000) /*!< Conversion is automatic once the DAC1_DHRxxxx register
mbed_official 489:119543c9f674 123 has been loaded, and not by external trigger */
mbed_official 489:119543c9f674 124 #define DAC_TRIGGER_T6_TRGO ((uint32_t) DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 125 #define DAC_TRIGGER_T7_TRGO ((uint32_t)( DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 126 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 127 #define DAC_TRIGGER_T4_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 128 #define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 129 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
mbed_official 489:119543c9f674 130
mbed_official 489:119543c9f674 131 #if defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG)
mbed_official 489:119543c9f674 132 /* For STM32F10x high-density and XL-density devices: TIM8 */
mbed_official 489:119543c9f674 133 #define DAC_TRIGGER_T8_TRGO ((uint32_t) DAC_CR_TSEL1_0 | DAC_CR_TEN1) /*!< TIM8 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 134 #endif /* STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */
mbed_official 489:119543c9f674 135
mbed_official 489:119543c9f674 136 #if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F105xC) || defined (STM32F107xC)
mbed_official 489:119543c9f674 137 /* For STM32F10x connectivity line devices and STM32F100x devices: TIM3 */
mbed_official 489:119543c9f674 138 #define DAC_TRIGGER_T3_TRGO ((uint32_t) DAC_CR_TSEL1_0 | DAC_CR_TEN1) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 139 #endif /* STM32F100xB || STM32F100xE || STM32F105xC || STM32F107xC */
mbed_official 489:119543c9f674 140
mbed_official 489:119543c9f674 141 /* Availability of trigger from TIM5 and TIM15: */
mbed_official 489:119543c9f674 142 /* - For STM32F10x value line devices STM32F100xB: */
mbed_official 489:119543c9f674 143 /* trigger from TIM15 is available, TIM5 not available. */
mbed_official 489:119543c9f674 144 /* - For STM32F10x value line devices STM32F100xE: */
mbed_official 489:119543c9f674 145 /* trigger from TIM15 and TIM5 are both available, */
mbed_official 489:119543c9f674 146 /* selection depends on remap (with TIM5 as default configuration). */
mbed_official 489:119543c9f674 147 /* - Other STM32F1 devices: */
mbed_official 489:119543c9f674 148 /* trigger from TIM5 is available, TIM15 not available. */
mbed_official 489:119543c9f674 149 #if defined (STM32F100xB)
mbed_official 489:119543c9f674 150 #define DAC_TRIGGER_T15_TRGO ((uint32_t)( DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM15 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 151 #else
mbed_official 489:119543c9f674 152
mbed_official 489:119543c9f674 153 #define DAC_TRIGGER_T5_TRGO ((uint32_t)( DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
mbed_official 489:119543c9f674 154
mbed_official 489:119543c9f674 155 #if defined (STM32F100xE)
mbed_official 489:119543c9f674 156 /*!< DAC trigger availability depending on STM32F1 devices:
mbed_official 489:119543c9f674 157 For STM32F100x high-density value line devices, the TIM15 TRGO event can be selected
mbed_official 489:119543c9f674 158 as replacement of TIM5 TRGO if the MISC_REMAP bit in the AFIO_MAPR2 register is set.
mbed_official 489:119543c9f674 159 Refer to macro "__HAL_AFIO_REMAP_MISC_ENABLE()/__HAL_AFIO_REMAP_MISC_DISABLE()".
mbed_official 489:119543c9f674 160 Otherwise, TIM5 TRGO is used and TIM15 TRGO is not used (default case).
mbed_official 489:119543c9f674 161 For more details please refer to the AFIO section. */
mbed_official 489:119543c9f674 162 #define DAC_TRIGGER_T15_TRGO DAC_TRIGGER_T5_TRGO
mbed_official 489:119543c9f674 163 #endif /* STM32F100xE */
mbed_official 489:119543c9f674 164
mbed_official 489:119543c9f674 165 #endif /* STM32F100xB */
mbed_official 489:119543c9f674 166 /**
mbed_official 489:119543c9f674 167 * @}
mbed_official 489:119543c9f674 168 */
mbed_official 489:119543c9f674 169
mbed_official 489:119543c9f674 170 #if defined (STM32F100xB) || defined (STM32F100xE)
mbed_official 489:119543c9f674 171 /** @defgroup DAC_flags_definition DAC flags definition
mbed_official 489:119543c9f674 172 * @{
mbed_official 489:119543c9f674 173 */
mbed_official 489:119543c9f674 174 #define DAC_FLAG_DMAUDR1 ((uint32_t)DAC_SR_DMAUDR1)
mbed_official 489:119543c9f674 175 #define DAC_FLAG_DMAUDR2 ((uint32_t)DAC_SR_DMAUDR2)
mbed_official 489:119543c9f674 176
mbed_official 489:119543c9f674 177 /**
mbed_official 489:119543c9f674 178 * @}
mbed_official 489:119543c9f674 179 */
mbed_official 489:119543c9f674 180
mbed_official 489:119543c9f674 181 /** @defgroup DAC_IT_definition DAC IT definition
mbed_official 489:119543c9f674 182 * @{
mbed_official 489:119543c9f674 183 */
mbed_official 489:119543c9f674 184 #define DAC_IT_DMAUDR1 ((uint32_t)DAC_SR_DMAUDR1)
mbed_official 489:119543c9f674 185 #define DAC_IT_DMAUDR2 ((uint32_t)DAC_SR_DMAUDR2)
mbed_official 489:119543c9f674 186
mbed_official 489:119543c9f674 187 /**
mbed_official 489:119543c9f674 188 * @}
mbed_official 489:119543c9f674 189 */
mbed_official 489:119543c9f674 190 #endif /* STM32F100xB || STM32F100xE */
mbed_official 489:119543c9f674 191
mbed_official 489:119543c9f674 192 /**
mbed_official 489:119543c9f674 193 * @}
mbed_official 489:119543c9f674 194 */
mbed_official 489:119543c9f674 195
mbed_official 489:119543c9f674 196 /* Exported macro ------------------------------------------------------------*/
mbed_official 489:119543c9f674 197
mbed_official 489:119543c9f674 198 #if defined (STM32F100xB) || defined (STM32F100xE)
mbed_official 489:119543c9f674 199 /** @defgroup DACEx_Exported_Macros DACEx Exported Macros
mbed_official 489:119543c9f674 200 * @{
mbed_official 489:119543c9f674 201 */
mbed_official 489:119543c9f674 202
mbed_official 489:119543c9f674 203 /** @brief Enable the DAC interrupt
mbed_official 489:119543c9f674 204 * @param __HANDLE__: specifies the DAC handle
mbed_official 489:119543c9f674 205 * @param __INTERRUPT__: specifies the DAC interrupt.
mbed_official 489:119543c9f674 206 * This parameter can be any combination of the following values:
mbed_official 489:119543c9f674 207 * @arg DAC_IT_DMAUDR1: DAC channel 1 DMA underrun interrupt
mbed_official 489:119543c9f674 208 * @arg DAC_IT_DMAUDR2: DAC channel 2 DMA underrun interrupt
mbed_official 489:119543c9f674 209 * @retval None
mbed_official 489:119543c9f674 210 */
mbed_official 489:119543c9f674 211 #define __HAL_DAC_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) |= (__INTERRUPT__))
mbed_official 489:119543c9f674 212
mbed_official 489:119543c9f674 213 /** @brief Disable the DAC interrupt
mbed_official 489:119543c9f674 214 * @param __HANDLE__: specifies the DAC handle
mbed_official 489:119543c9f674 215 * @param __INTERRUPT__: specifies the DAC interrupt.
mbed_official 489:119543c9f674 216 * This parameter can be any combination of the following values:
mbed_official 489:119543c9f674 217 * @arg DAC_IT_DMAUDR1: DAC channel 1 DMA underrun interrupt
mbed_official 489:119543c9f674 218 * @arg DAC_IT_DMAUDR2: DAC channel 2 DMA underrun interrupt
mbed_official 489:119543c9f674 219 * @retval None
mbed_official 489:119543c9f674 220 */
mbed_official 489:119543c9f674 221 #define __HAL_DAC_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) &= ~(__INTERRUPT__))
mbed_official 489:119543c9f674 222
mbed_official 489:119543c9f674 223 /** @brief Checks if the specified DAC interrupt source is enabled or disabled.
mbed_official 489:119543c9f674 224 * @param __HANDLE__: DAC handle
mbed_official 489:119543c9f674 225 * @param __INTERRUPT__: DAC interrupt source to check
mbed_official 489:119543c9f674 226 * This parameter can be any combination of the following values:
mbed_official 489:119543c9f674 227 * @arg DAC_IT_DMAUDR1: DAC channel 1 DMA underrun interrupt
mbed_official 489:119543c9f674 228 * @arg DAC_IT_DMAUDR2: DAC channel 2 DMA underrun interrupt
mbed_official 489:119543c9f674 229 * @retval State of interruption (SET or RESET)
mbed_official 489:119543c9f674 230 */
mbed_official 489:119543c9f674 231 #define __HAL_DAC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR & (__INTERRUPT__)) == (__INTERRUPT__))
mbed_official 489:119543c9f674 232
mbed_official 489:119543c9f674 233 /** @brief Get the selected DAC's flag status.
mbed_official 489:119543c9f674 234 * @param __HANDLE__: specifies the DAC handle.
mbed_official 489:119543c9f674 235 * @param __FLAG__: specifies the FLASH flag to get.
mbed_official 489:119543c9f674 236 * This parameter can be any combination of the following values:
mbed_official 489:119543c9f674 237 * @arg DAC_FLAG_DMAUDR1: DAC channel 1 DMA underrun flag
mbed_official 489:119543c9f674 238 * @arg DAC_FLAG_DMAUDR2: DAC channel 2 DMA underrun flag
mbed_official 489:119543c9f674 239 * @retval None
mbed_official 489:119543c9f674 240 */
mbed_official 489:119543c9f674 241 #define __HAL_DAC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__))
mbed_official 489:119543c9f674 242
mbed_official 489:119543c9f674 243 /** @brief Clear the DAC's flag.
mbed_official 489:119543c9f674 244 * @param __HANDLE__: specifies the DAC handle.
mbed_official 489:119543c9f674 245 * @param __FLAG__: specifies the DAC flag to clear.
mbed_official 489:119543c9f674 246 * This parameter can be any combination of the following values:
mbed_official 489:119543c9f674 247 * @arg DAC_FLAG_DMAUDR1: DAC channel 1 DMA underrun flag
mbed_official 489:119543c9f674 248 * @arg DAC_FLAG_DMAUDR2: DAC channel 2 DMA underrun flag
mbed_official 489:119543c9f674 249 * @retval None
mbed_official 489:119543c9f674 250 */
mbed_official 489:119543c9f674 251 #define __HAL_DAC_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR) = (__FLAG__))
mbed_official 489:119543c9f674 252
mbed_official 489:119543c9f674 253
mbed_official 489:119543c9f674 254 /**
mbed_official 489:119543c9f674 255 * @}
mbed_official 489:119543c9f674 256 */
mbed_official 489:119543c9f674 257 #endif /* STM32F100xB || STM32F100xE */
mbed_official 489:119543c9f674 258
mbed_official 489:119543c9f674 259 /* Private macro -------------------------------------------------------------*/
mbed_official 489:119543c9f674 260
mbed_official 489:119543c9f674 261 /** @defgroup DACEx_Private_Macros DACEx Private Macros
mbed_official 489:119543c9f674 262 * @{
mbed_official 489:119543c9f674 263 */
mbed_official 489:119543c9f674 264 #if defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG)
mbed_official 489:119543c9f674 265 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
mbed_official 489:119543c9f674 266 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
mbed_official 489:119543c9f674 267 ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \
mbed_official 489:119543c9f674 268 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
mbed_official 489:119543c9f674 269 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
mbed_official 489:119543c9f674 270 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
mbed_official 489:119543c9f674 271 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
mbed_official 489:119543c9f674 272 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
mbed_official 489:119543c9f674 273 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
mbed_official 489:119543c9f674 274 #endif /* STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */
mbed_official 489:119543c9f674 275 #if defined (STM32F100xE) || defined (STM32F105xC) || defined (STM32F107xC)
mbed_official 489:119543c9f674 276 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
mbed_official 489:119543c9f674 277 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
mbed_official 489:119543c9f674 278 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
mbed_official 489:119543c9f674 279 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
mbed_official 489:119543c9f674 280 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
mbed_official 489:119543c9f674 281 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
mbed_official 489:119543c9f674 282 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
mbed_official 489:119543c9f674 283 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
mbed_official 489:119543c9f674 284 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
mbed_official 489:119543c9f674 285 #endif /* STM32F100xE || STM32F105xC || STM32F107xC */
mbed_official 489:119543c9f674 286 #if defined (STM32F100xB)
mbed_official 489:119543c9f674 287 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
mbed_official 489:119543c9f674 288 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
mbed_official 489:119543c9f674 289 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
mbed_official 489:119543c9f674 290 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
mbed_official 489:119543c9f674 291 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
mbed_official 489:119543c9f674 292 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
mbed_official 489:119543c9f674 293 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
mbed_official 489:119543c9f674 294 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
mbed_official 489:119543c9f674 295 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
mbed_official 489:119543c9f674 296 #endif /* STM32F100xB */
mbed_official 489:119543c9f674 297
mbed_official 489:119543c9f674 298 #define IS_DAC_GENERATE_WAVE(WAVE) (((WAVE) == DAC_WAVEGENERATION_NOISE) || \
mbed_official 489:119543c9f674 299 ((WAVE) == DAC_WAVEGENERATION_TRIANGLE))
mbed_official 489:119543c9f674 300
mbed_official 489:119543c9f674 301 #define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \
mbed_official 489:119543c9f674 302 ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \
mbed_official 489:119543c9f674 303 ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \
mbed_official 489:119543c9f674 304 ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \
mbed_official 489:119543c9f674 305 ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \
mbed_official 489:119543c9f674 306 ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \
mbed_official 489:119543c9f674 307 ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \
mbed_official 489:119543c9f674 308 ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \
mbed_official 489:119543c9f674 309 ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \
mbed_official 489:119543c9f674 310 ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \
mbed_official 489:119543c9f674 311 ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \
mbed_official 489:119543c9f674 312 ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \
mbed_official 489:119543c9f674 313 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \
mbed_official 489:119543c9f674 314 ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \
mbed_official 489:119543c9f674 315 ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \
mbed_official 489:119543c9f674 316 ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \
mbed_official 489:119543c9f674 317 ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \
mbed_official 489:119543c9f674 318 ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \
mbed_official 489:119543c9f674 319 ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \
mbed_official 489:119543c9f674 320 ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \
mbed_official 489:119543c9f674 321 ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \
mbed_official 489:119543c9f674 322 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \
mbed_official 489:119543c9f674 323 ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \
mbed_official 489:119543c9f674 324 ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095))
mbed_official 489:119543c9f674 325
mbed_official 489:119543c9f674 326 #define IS_DAC_WAVE(WAVE) (((WAVE) == DAC_WAVE_NOISE) || \
mbed_official 489:119543c9f674 327 ((WAVE) == DAC_WAVE_TRIANGLE))
mbed_official 489:119543c9f674 328
mbed_official 489:119543c9f674 329 /**
mbed_official 489:119543c9f674 330 * @}
mbed_official 489:119543c9f674 331 */
mbed_official 489:119543c9f674 332
mbed_official 489:119543c9f674 333
mbed_official 489:119543c9f674 334 /* Exported functions --------------------------------------------------------*/
mbed_official 489:119543c9f674 335
mbed_official 489:119543c9f674 336 /** @addtogroup DACEx_Exported_Functions
mbed_official 489:119543c9f674 337 * @{
mbed_official 489:119543c9f674 338 */
mbed_official 489:119543c9f674 339
mbed_official 489:119543c9f674 340 /** @addtogroup DACEx_Exported_Functions_Group1
mbed_official 489:119543c9f674 341 * @{
mbed_official 489:119543c9f674 342 */
mbed_official 489:119543c9f674 343 /* Extension features functions ***********************************************/
mbed_official 489:119543c9f674 344
mbed_official 489:119543c9f674 345 uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac);
mbed_official 489:119543c9f674 346 HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
mbed_official 489:119543c9f674 347 HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
mbed_official 489:119543c9f674 348 HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
mbed_official 489:119543c9f674 349
mbed_official 489:119543c9f674 350 void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac);
mbed_official 489:119543c9f674 351 void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac);
mbed_official 489:119543c9f674 352 void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef* hdac);
mbed_official 489:119543c9f674 353
mbed_official 489:119543c9f674 354 #if defined (STM32F100xB) || defined (STM32F100xE)
mbed_official 489:119543c9f674 355 void HAL_DAC_IRQHandler(DAC_HandleTypeDef* hdac);
mbed_official 489:119543c9f674 356 void HAL_DAC_DMAUnderrunCallbackCh1(DAC_HandleTypeDef *hdac);
mbed_official 489:119543c9f674 357 void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef* hdac);
mbed_official 489:119543c9f674 358 #endif /* STM32F100xB) || defined (STM32F100xE) */
mbed_official 489:119543c9f674 359
mbed_official 489:119543c9f674 360 /**
mbed_official 489:119543c9f674 361 * @}
mbed_official 489:119543c9f674 362 */
mbed_official 489:119543c9f674 363
mbed_official 489:119543c9f674 364
mbed_official 489:119543c9f674 365
mbed_official 489:119543c9f674 366
mbed_official 489:119543c9f674 367 /**
mbed_official 489:119543c9f674 368 * @}
mbed_official 489:119543c9f674 369 */
mbed_official 489:119543c9f674 370
mbed_official 489:119543c9f674 371 /** @addtogroup DACEx_Private_Functions
mbed_official 489:119543c9f674 372 * @{
mbed_official 489:119543c9f674 373 */
mbed_official 489:119543c9f674 374 void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma);
mbed_official 489:119543c9f674 375 void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma);
mbed_official 489:119543c9f674 376 void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma);
mbed_official 489:119543c9f674 377
mbed_official 489:119543c9f674 378 /**
mbed_official 489:119543c9f674 379 * @}
mbed_official 489:119543c9f674 380 */
mbed_official 489:119543c9f674 381
mbed_official 489:119543c9f674 382 /**
mbed_official 489:119543c9f674 383 * @}
mbed_official 489:119543c9f674 384 */
mbed_official 489:119543c9f674 385
mbed_official 489:119543c9f674 386 /**
mbed_official 489:119543c9f674 387 * @}
mbed_official 489:119543c9f674 388 */
mbed_official 489:119543c9f674 389
mbed_official 489:119543c9f674 390 #endif /* STM32F100xB || STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG || STM32F105xC || STM32F107xC */
mbed_official 489:119543c9f674 391
mbed_official 489:119543c9f674 392 #ifdef __cplusplus
mbed_official 489:119543c9f674 393 }
mbed_official 489:119543c9f674 394 #endif
mbed_official 489:119543c9f674 395
mbed_official 489:119543c9f674 396 #endif /*__STM32F1xx_HAL_DAC_EX_H */
mbed_official 489:119543c9f674 397
mbed_official 489:119543c9f674 398 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/