Fork of the official mbed C/C SDK provides the software platform and libraries to build your applications for RenBED.

Dependents:   1-RenBuggyTimed RenBED_RGB RenBED_RGB_PWM RenBED_RGB

Fork of mbed by mbed official

Committer:
elijahorr
Date:
Thu Apr 14 07:28:54 2016 +0000
Revision:
121:672067c3ada4
Parent:
109:9296ab0bfc11
.

Who changed what in which revision?

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