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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_DISCO_F303VC/TARGET_STM/TARGET_STM32F3/device/stm32f3xx_hal_dac_ex.h@168:b9e159c1930a
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 163:e59c8e839560 1 /**
AnnaBridge 163:e59c8e839560 2 ******************************************************************************
AnnaBridge 163:e59c8e839560 3 * @file stm32f3xx_hal_dac_ex.h
AnnaBridge 163:e59c8e839560 4 * @author MCD Application Team
AnnaBridge 163:e59c8e839560 5 * @brief Header file of DAC HAL Extended module.
AnnaBridge 163:e59c8e839560 6 ******************************************************************************
AnnaBridge 163:e59c8e839560 7 * @attention
AnnaBridge 163:e59c8e839560 8 *
AnnaBridge 163:e59c8e839560 9 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
AnnaBridge 163:e59c8e839560 10 *
AnnaBridge 163:e59c8e839560 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 163:e59c8e839560 12 * are permitted provided that the following conditions are met:
AnnaBridge 163:e59c8e839560 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 163:e59c8e839560 14 * this list of conditions and the following disclaimer.
AnnaBridge 163:e59c8e839560 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 163:e59c8e839560 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 163:e59c8e839560 17 * and/or other materials provided with the distribution.
AnnaBridge 163:e59c8e839560 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 163:e59c8e839560 19 * may be used to endorse or promote products derived from this software
AnnaBridge 163:e59c8e839560 20 * without specific prior written permission.
AnnaBridge 163:e59c8e839560 21 *
AnnaBridge 163:e59c8e839560 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 163:e59c8e839560 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 163:e59c8e839560 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 163:e59c8e839560 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 163:e59c8e839560 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 163:e59c8e839560 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 163:e59c8e839560 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 163:e59c8e839560 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 163:e59c8e839560 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 163:e59c8e839560 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 163:e59c8e839560 32 *
AnnaBridge 163:e59c8e839560 33 ******************************************************************************
AnnaBridge 163:e59c8e839560 34 */
AnnaBridge 163:e59c8e839560 35
AnnaBridge 163:e59c8e839560 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 163:e59c8e839560 37 #ifndef __STM32F3xx_HAL_DAC_EX_H
AnnaBridge 163:e59c8e839560 38 #define __STM32F3xx_HAL_DAC_EX_H
AnnaBridge 163:e59c8e839560 39
AnnaBridge 163:e59c8e839560 40 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 41 extern "C" {
AnnaBridge 163:e59c8e839560 42 #endif
AnnaBridge 163:e59c8e839560 43
AnnaBridge 163:e59c8e839560 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 45 #include "stm32f3xx_hal_def.h"
AnnaBridge 163:e59c8e839560 46
AnnaBridge 163:e59c8e839560 47 /** @addtogroup STM32F3xx_HAL_Driver
AnnaBridge 163:e59c8e839560 48 * @{
AnnaBridge 163:e59c8e839560 49 */
AnnaBridge 163:e59c8e839560 50
AnnaBridge 163:e59c8e839560 51 /** @addtogroup DACEx
AnnaBridge 163:e59c8e839560 52 * @{
AnnaBridge 163:e59c8e839560 53 */
AnnaBridge 163:e59c8e839560 54
AnnaBridge 163:e59c8e839560 55 /* Exported types ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 56 /* Exported constants --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 57 /** @defgroup DACEx_Exported_Constants DACEx Exported Constants
AnnaBridge 163:e59c8e839560 58 * @{
AnnaBridge 163:e59c8e839560 59 */
AnnaBridge 163:e59c8e839560 60
AnnaBridge 163:e59c8e839560 61 /** @defgroup DACEx_trigger_selection DACEx trigger selection
AnnaBridge 163:e59c8e839560 62 * @{
AnnaBridge 163:e59c8e839560 63 */
AnnaBridge 163:e59c8e839560 64
AnnaBridge 163:e59c8e839560 65 #if defined(STM32F301x8) || defined(STM32F318xx)
AnnaBridge 163:e59c8e839560 66 #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
AnnaBridge 163:e59c8e839560 67 has been loaded, and not by external trigger */
AnnaBridge 163:e59c8e839560 68 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 69 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 70 #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 71 #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 */
AnnaBridge 163:e59c8e839560 72 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
AnnaBridge 163:e59c8e839560 73
AnnaBridge 163:e59c8e839560 74 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 163:e59c8e839560 75 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 163:e59c8e839560 76 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 163:e59c8e839560 77 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
AnnaBridge 163:e59c8e839560 78 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 163:e59c8e839560 79 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 163:e59c8e839560 80 #endif /* STM32F301x8 || STM32F318xx */
AnnaBridge 163:e59c8e839560 81
AnnaBridge 163:e59c8e839560 82 #if defined(STM32F302xE) || \
AnnaBridge 163:e59c8e839560 83 defined(STM32F302xC) || \
AnnaBridge 163:e59c8e839560 84 defined(STM32F302x8)
AnnaBridge 163:e59c8e839560 85
AnnaBridge 163:e59c8e839560 86 #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
AnnaBridge 163:e59c8e839560 87 has been loaded, and not by external trigger */
AnnaBridge 163:e59c8e839560 88 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 89 #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 90 #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 91 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 92 #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 */
AnnaBridge 163:e59c8e839560 93 #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 */
AnnaBridge 163:e59c8e839560 94 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
AnnaBridge 163:e59c8e839560 95
AnnaBridge 163:e59c8e839560 96 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 163:e59c8e839560 97 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 163:e59c8e839560 98 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
AnnaBridge 163:e59c8e839560 99 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
AnnaBridge 163:e59c8e839560 100 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
AnnaBridge 163:e59c8e839560 101 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 163:e59c8e839560 102 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 163:e59c8e839560 103 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 163:e59c8e839560 104
AnnaBridge 163:e59c8e839560 105 #endif /* STM32F302xE || */
AnnaBridge 163:e59c8e839560 106 /* STM32F302xC || */
AnnaBridge 163:e59c8e839560 107 /* STM32F302x8 */
AnnaBridge 163:e59c8e839560 108
AnnaBridge 163:e59c8e839560 109 #if defined(STM32F303xE) || defined(STM32F398xx) || \
AnnaBridge 163:e59c8e839560 110 defined(STM32F303xC) || defined(STM32F358xx)
AnnaBridge 163:e59c8e839560 111
AnnaBridge 163:e59c8e839560 112 #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
AnnaBridge 163:e59c8e839560 113 has been loaded, and not by external trigger */
AnnaBridge 163:e59c8e839560 114 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 115 #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 */
AnnaBridge 163:e59c8e839560 116 #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 117 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 118 #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 119 #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel
AnnaBridge 163:e59c8e839560 120 Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG) for TIM3 selection */
AnnaBridge 163:e59c8e839560 121 #define DAC_TRIGGER_T8_TRGO DAC_TRIGGER_T3_TRGO /*!< TIM8 TRGO selected as external conversion trigger for DAC channel
AnnaBridge 163:e59c8e839560 122 Use __HAL_REMAPTRIGGER_DISABLE(HAL_REMAPTRIGGER_DAC1_TRIG) for TIM8 selection */
AnnaBridge 163:e59c8e839560 123
AnnaBridge 163:e59c8e839560 124 #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 */
AnnaBridge 163:e59c8e839560 125 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
AnnaBridge 163:e59c8e839560 126
AnnaBridge 163:e59c8e839560 127 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 163:e59c8e839560 128 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 163:e59c8e839560 129 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
AnnaBridge 163:e59c8e839560 130 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
AnnaBridge 163:e59c8e839560 131 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
AnnaBridge 163:e59c8e839560 132 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 163:e59c8e839560 133 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 163:e59c8e839560 134 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 163:e59c8e839560 135 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 163:e59c8e839560 136 #endif /* STM32F303xE || STM32F398xx || */
AnnaBridge 163:e59c8e839560 137 /* STM32F303xC || STM32F358xx */
AnnaBridge 163:e59c8e839560 138
AnnaBridge 163:e59c8e839560 139
AnnaBridge 163:e59c8e839560 140 #if defined(STM32F303x8) || defined(STM32F328xx)
AnnaBridge 163:e59c8e839560 141
AnnaBridge 163:e59c8e839560 142 #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
AnnaBridge 163:e59c8e839560 143 has been loaded, and not by external trigger */
AnnaBridge 163:e59c8e839560 144 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 145 #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 146 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 147 #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 148 #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 149
AnnaBridge 163:e59c8e839560 150 #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 */
AnnaBridge 163:e59c8e839560 151 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
AnnaBridge 163:e59c8e839560 152
AnnaBridge 163:e59c8e839560 153 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 163:e59c8e839560 154 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 163:e59c8e839560 155 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
AnnaBridge 163:e59c8e839560 156 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
AnnaBridge 163:e59c8e839560 157 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 163:e59c8e839560 158 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 163:e59c8e839560 159 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 163:e59c8e839560 160 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 163:e59c8e839560 161
AnnaBridge 163:e59c8e839560 162 #endif /* STM32F303x8 || STM32F328xx */
AnnaBridge 163:e59c8e839560 163
AnnaBridge 163:e59c8e839560 164
AnnaBridge 163:e59c8e839560 165 #if defined(STM32F373xC) || defined(STM32F378xx)
AnnaBridge 163:e59c8e839560 166
AnnaBridge 163:e59c8e839560 167 #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
AnnaBridge 163:e59c8e839560 168 has been loaded, and not by external trigger */
AnnaBridge 163:e59c8e839560 169
AnnaBridge 163:e59c8e839560 170 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 171 #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 */
AnnaBridge 163:e59c8e839560 172 #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 (DAC1) */
AnnaBridge 163:e59c8e839560 173 #define DAC_TRIGGER_T18_TRGO DAC_TRIGGER_T5_TRGO /*!< TIM18 TRGO selected as external conversion trigger for DAC channel (DAC2) */
AnnaBridge 163:e59c8e839560 174 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 175 #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 176 #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 177
AnnaBridge 163:e59c8e839560 178 #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 */
AnnaBridge 163:e59c8e839560 179 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
AnnaBridge 163:e59c8e839560 180
AnnaBridge 163:e59c8e839560 181
AnnaBridge 163:e59c8e839560 182 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 163:e59c8e839560 183 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 163:e59c8e839560 184 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
AnnaBridge 163:e59c8e839560 185 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
AnnaBridge 163:e59c8e839560 186 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
AnnaBridge 163:e59c8e839560 187 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 163:e59c8e839560 188 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 163:e59c8e839560 189 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 163:e59c8e839560 190 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 163:e59c8e839560 191 #endif /* STM32F373xC || STM32F378xx */
AnnaBridge 163:e59c8e839560 192
AnnaBridge 163:e59c8e839560 193 #if defined(STM32F334x8)
AnnaBridge 163:e59c8e839560 194
AnnaBridge 163:e59c8e839560 195 #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
AnnaBridge 163:e59c8e839560 196 has been loaded, and not by external trigger */
AnnaBridge 163:e59c8e839560 197 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 198 #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel
AnnaBridge 163:e59c8e839560 199 Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG) for TIM3 remap */
AnnaBridge 163:e59c8e839560 200
AnnaBridge 163:e59c8e839560 201 #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 202 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
AnnaBridge 163:e59c8e839560 203 #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
AnnaBridge 163:e59c8e839560 204 Use __HAL_REMAPTRIGGER_DISABLE(HAL_REMAPTRIGGER_DAC1_TRIG3) for TIM15 selection */
AnnaBridge 163:e59c8e839560 205 #define DAC_TRIGGER_HRTIM1_DACTRG1 DAC_TRIGGER_T15_TRGO /*!< HRTIM1 DACTRG1 selected as external conversion trigger for DAC
AnnaBridge 163:e59c8e839560 206 Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG3) for HRTIM1 DACTRG1 selection */
AnnaBridge 163:e59c8e839560 207
AnnaBridge 163:e59c8e839560 208 #define DAC_TRIGGER_HRTIM1_DACTRG2 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< HRTIM1 DACTRG2 selected as external conversion trigger for DAC channel (DAC1)
AnnaBridge 163:e59c8e839560 209 Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG5) for HRTIM1 DACTRG2 remap */
AnnaBridge 163:e59c8e839560 210 #define DAC_TRIGGER_HRTIM1_DACTRG3 DAC_TRIGGER_HRTIM1_DACTRG2 /*!< HRTIM1 DACTRG3 selected as external conversion trigger for DAC channel (DAC2)*/
AnnaBridge 163:e59c8e839560 211
AnnaBridge 163:e59c8e839560 212 #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 */
AnnaBridge 163:e59c8e839560 213 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
AnnaBridge 163:e59c8e839560 214
AnnaBridge 163:e59c8e839560 215 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 163:e59c8e839560 216 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 163:e59c8e839560 217 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
AnnaBridge 163:e59c8e839560 218 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 163:e59c8e839560 219 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
AnnaBridge 163:e59c8e839560 220 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 163:e59c8e839560 221 ((TRIGGER) == DAC_TRIGGER_HRTIM1_DACTRG2) || \
AnnaBridge 163:e59c8e839560 222 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 163:e59c8e839560 223 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 163:e59c8e839560 224
AnnaBridge 163:e59c8e839560 225 #endif /* STM32F334x8 */
AnnaBridge 163:e59c8e839560 226
AnnaBridge 163:e59c8e839560 227 /**
AnnaBridge 163:e59c8e839560 228 * @}
AnnaBridge 163:e59c8e839560 229 */
AnnaBridge 163:e59c8e839560 230
AnnaBridge 163:e59c8e839560 231 /** @defgroup DACEx_Channel_selection DACEx Channel selection
AnnaBridge 163:e59c8e839560 232 * @{
AnnaBridge 163:e59c8e839560 233 */
AnnaBridge 163:e59c8e839560 234
AnnaBridge 163:e59c8e839560 235 #if defined(STM32F302xE) || \
AnnaBridge 163:e59c8e839560 236 defined(STM32F302xC) || \
AnnaBridge 163:e59c8e839560 237 defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
AnnaBridge 163:e59c8e839560 238 #define DAC_CHANNEL_1 (0x00000000U) /*!< DAC Channel 1U */
AnnaBridge 163:e59c8e839560 239
AnnaBridge 163:e59c8e839560 240 #endif /* STM32F302xE || */
AnnaBridge 163:e59c8e839560 241 /* STM32F302xC || */
AnnaBridge 163:e59c8e839560 242 /* STM32F301x8 || STM32F302x8 || STM32F318xx */
AnnaBridge 163:e59c8e839560 243
AnnaBridge 163:e59c8e839560 244
AnnaBridge 163:e59c8e839560 245 #if defined(STM32F303xE) || defined(STM32F398xx) || \
AnnaBridge 163:e59c8e839560 246 defined(STM32F303xC) || defined(STM32F358xx)
AnnaBridge 163:e59c8e839560 247 #define DAC_CHANNEL_1 (0x00000000U) /*!< DAC Channel 1U */
AnnaBridge 163:e59c8e839560 248 #define DAC_CHANNEL_2 (0x00000010U) /*!< DAC Channel 2U */
AnnaBridge 163:e59c8e839560 249
AnnaBridge 163:e59c8e839560 250 #endif /* STM32F303xE || STM32F398xx || */
AnnaBridge 163:e59c8e839560 251 /* STM32F303xC || STM32F358xx */
AnnaBridge 163:e59c8e839560 252
AnnaBridge 163:e59c8e839560 253 #if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) || \
AnnaBridge 163:e59c8e839560 254 defined(STM32F373xC) || defined(STM32F378xx)
AnnaBridge 163:e59c8e839560 255
AnnaBridge 163:e59c8e839560 256 #define DAC_CHANNEL_1 (0x00000000U) /*!< DAC Channel 1U */
AnnaBridge 163:e59c8e839560 257 #define DAC_CHANNEL_2 (0x00000010U) /*!< DAC Channel 2U */
AnnaBridge 163:e59c8e839560 258
AnnaBridge 163:e59c8e839560 259 #endif /* STM32F303x8 || STM32F334x8 || STM32F328xx || */
AnnaBridge 163:e59c8e839560 260 /* STM32F373xC || STM32F378xx */
AnnaBridge 163:e59c8e839560 261
AnnaBridge 163:e59c8e839560 262 /**
AnnaBridge 163:e59c8e839560 263 * @}
AnnaBridge 163:e59c8e839560 264 */
AnnaBridge 163:e59c8e839560 265
AnnaBridge 163:e59c8e839560 266 /**
AnnaBridge 163:e59c8e839560 267 * @}
AnnaBridge 163:e59c8e839560 268 */
AnnaBridge 163:e59c8e839560 269
AnnaBridge 163:e59c8e839560 270 /* Private macro -------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 271
AnnaBridge 163:e59c8e839560 272 /** @defgroup DACEx_Private_Macros DACEx Private Macros
AnnaBridge 163:e59c8e839560 273 * @{
AnnaBridge 163:e59c8e839560 274 */
AnnaBridge 163:e59c8e839560 275
AnnaBridge 163:e59c8e839560 276 #if defined(STM32F302xE) || \
AnnaBridge 163:e59c8e839560 277 defined(STM32F302xC) || \
AnnaBridge 163:e59c8e839560 278 defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
AnnaBridge 163:e59c8e839560 279
AnnaBridge 163:e59c8e839560 280 #define IS_DAC_CHANNEL(CHANNEL) ((CHANNEL) == DAC_CHANNEL_1)
AnnaBridge 163:e59c8e839560 281 #endif /* STM32F302xE || */
AnnaBridge 163:e59c8e839560 282 /* STM32F302xC || */
AnnaBridge 163:e59c8e839560 283 /* STM32F301x8 || STM32F302x8 || STM32F318xx */
AnnaBridge 163:e59c8e839560 284
AnnaBridge 163:e59c8e839560 285
AnnaBridge 163:e59c8e839560 286 #if defined(STM32F303xE) || defined(STM32F398xx) || \
AnnaBridge 163:e59c8e839560 287 defined(STM32F303xC) || defined(STM32F358xx)
AnnaBridge 163:e59c8e839560 288
AnnaBridge 163:e59c8e839560 289 #define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_CHANNEL_1) || \
AnnaBridge 163:e59c8e839560 290 ((CHANNEL) == DAC_CHANNEL_2))
AnnaBridge 163:e59c8e839560 291 #endif /* STM32F303xE || STM32F398xx || */
AnnaBridge 163:e59c8e839560 292 /* STM32F303xC || STM32F358xx */
AnnaBridge 163:e59c8e839560 293
AnnaBridge 163:e59c8e839560 294 #if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) || \
AnnaBridge 163:e59c8e839560 295 defined(STM32F373xC) || defined(STM32F378xx)
AnnaBridge 163:e59c8e839560 296
AnnaBridge 163:e59c8e839560 297 #define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_CHANNEL_1) || \
AnnaBridge 163:e59c8e839560 298 ((CHANNEL) == DAC_CHANNEL_2))
AnnaBridge 163:e59c8e839560 299 #endif /* STM32F303x8 || STM32F334x8 || STM32F328xx || */
AnnaBridge 163:e59c8e839560 300 /* STM32F373xC || STM32F378xx */
AnnaBridge 163:e59c8e839560 301
AnnaBridge 163:e59c8e839560 302
AnnaBridge 163:e59c8e839560 303
AnnaBridge 163:e59c8e839560 304 /**
AnnaBridge 163:e59c8e839560 305 * @}
AnnaBridge 163:e59c8e839560 306 */
AnnaBridge 163:e59c8e839560 307
AnnaBridge 163:e59c8e839560 308 /* Exported functions --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 309
AnnaBridge 163:e59c8e839560 310 /** @addtogroup DACEx_Exported_Functions
AnnaBridge 163:e59c8e839560 311 * @{
AnnaBridge 163:e59c8e839560 312 */
AnnaBridge 163:e59c8e839560 313
AnnaBridge 163:e59c8e839560 314 /** @addtogroup DACEx_Exported_Functions_Group2
AnnaBridge 163:e59c8e839560 315 * @{
AnnaBridge 163:e59c8e839560 316 */
AnnaBridge 163:e59c8e839560 317 /* IO operation functions *****************************************************/
AnnaBridge 163:e59c8e839560 318
AnnaBridge 163:e59c8e839560 319 uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac);
AnnaBridge 163:e59c8e839560 320 HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
AnnaBridge 163:e59c8e839560 321 HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
AnnaBridge 163:e59c8e839560 322 HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
AnnaBridge 163:e59c8e839560 323
AnnaBridge 163:e59c8e839560 324 #if defined(STM32F303xE) || defined(STM32F398xx) || \
AnnaBridge 163:e59c8e839560 325 defined(STM32F303xC) || defined(STM32F358xx) || \
AnnaBridge 163:e59c8e839560 326 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) || \
AnnaBridge 163:e59c8e839560 327 defined(STM32F373xC) || defined(STM32F378xx)
AnnaBridge 163:e59c8e839560 328 void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 163:e59c8e839560 329 void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 163:e59c8e839560 330 void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac);
AnnaBridge 163:e59c8e839560 331 void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac);
AnnaBridge 163:e59c8e839560 332 #endif /* STM32F303xE || STM32F398xx || */
AnnaBridge 163:e59c8e839560 333 /* STM32F303xC || STM32F358xx || */
AnnaBridge 163:e59c8e839560 334 /* STM32F303x8 || STM32F334x8 || STM32F328xx || */
AnnaBridge 163:e59c8e839560 335 /* STM32F373xC || STM32F378xx */
AnnaBridge 163:e59c8e839560 336
AnnaBridge 163:e59c8e839560 337 /**
AnnaBridge 163:e59c8e839560 338 * @}
AnnaBridge 163:e59c8e839560 339 */
AnnaBridge 163:e59c8e839560 340
AnnaBridge 163:e59c8e839560 341 /**
AnnaBridge 163:e59c8e839560 342 * @}
AnnaBridge 163:e59c8e839560 343 */
AnnaBridge 163:e59c8e839560 344
AnnaBridge 163:e59c8e839560 345 /**
AnnaBridge 163:e59c8e839560 346 * @}
AnnaBridge 163:e59c8e839560 347 */
AnnaBridge 163:e59c8e839560 348
AnnaBridge 163:e59c8e839560 349 /**
AnnaBridge 163:e59c8e839560 350 * @}
AnnaBridge 163:e59c8e839560 351 */
AnnaBridge 163:e59c8e839560 352
AnnaBridge 163:e59c8e839560 353 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 354 }
AnnaBridge 163:e59c8e839560 355 #endif
AnnaBridge 163:e59c8e839560 356
AnnaBridge 163:e59c8e839560 357 #endif /* __STM32F3xx_HAL_HAL_EX_H */
AnnaBridge 163:e59c8e839560 358
AnnaBridge 163:e59c8e839560 359 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/