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

Fork of mbed by mbed official

Committer:
Mikchel
Date:
Sun May 03 16:04:42 2015 +0000
Revision:
99:7f6c6de930c0
Parent:
93:e188a91d3eaa
12

Who changed what in which revision?

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