Ricardo Benitez / mbed

Fork of mbed by mbed official

Committer:
Kojto
Date:
Thu Oct 29 08:40:18 2015 +0000
Revision:
109:9296ab0bfc11
Release 109  of the mbed library

Changes:
- new platforms - NUCLEO_F042K6, WIZNWIKI_W7500ECO
- MTS targets - bootloaders update to 0.1.1
- STM F7 - RTC enable fixes
- STM F4 - i2c pending stop before start fix
- STM all targets - analogout normalization fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 109:9296ab0bfc11 1 /**
Kojto 109:9296ab0bfc11 2 ******************************************************************************
Kojto 109:9296ab0bfc11 3 * @file stm32f0xx_hal_dac_ex.h
Kojto 109:9296ab0bfc11 4 * @author MCD Application Team
Kojto 109:9296ab0bfc11 5 * @version V1.3.0
Kojto 109:9296ab0bfc11 6 * @date 26-June-2015
Kojto 109:9296ab0bfc11 7 * @brief Header file of DAC HAL Extension module.
Kojto 109:9296ab0bfc11 8 ******************************************************************************
Kojto 109:9296ab0bfc11 9 * @attention
Kojto 109:9296ab0bfc11 10 *
Kojto 109:9296ab0bfc11 11 * <h2><center>&copy; COPYRIGHT(c) 2015 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 __STM32F0xx_HAL_DAC_EX_H
Kojto 109:9296ab0bfc11 40 #define __STM32F0xx_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 /** @addtogroup STM32F0xx_HAL_Driver
Kojto 109:9296ab0bfc11 47 * @{
Kojto 109:9296ab0bfc11 48 */
Kojto 109:9296ab0bfc11 49
Kojto 109:9296ab0bfc11 50 #if defined(STM32F051x8) || defined(STM32F058xx) || \
Kojto 109:9296ab0bfc11 51 defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || \
Kojto 109:9296ab0bfc11 52 defined(STM32F091xC) || defined(STM32F098xx)
Kojto 109:9296ab0bfc11 53
Kojto 109:9296ab0bfc11 54 /* Includes ------------------------------------------------------------------*/
Kojto 109:9296ab0bfc11 55 #include "stm32f0xx_hal_def.h"
Kojto 109:9296ab0bfc11 56
Kojto 109:9296ab0bfc11 57 /** @addtogroup DACEx
Kojto 109:9296ab0bfc11 58 * @{
Kojto 109:9296ab0bfc11 59 */
Kojto 109:9296ab0bfc11 60
Kojto 109:9296ab0bfc11 61 /* Exported types ------------------------------------------------------------*/
Kojto 109:9296ab0bfc11 62
Kojto 109:9296ab0bfc11 63 /* Exported constants --------------------------------------------------------*/
Kojto 109:9296ab0bfc11 64
Kojto 109:9296ab0bfc11 65 /** @defgroup DACEx_Exported_Constants DACEx Exported Constants
Kojto 109:9296ab0bfc11 66 * @{
Kojto 109:9296ab0bfc11 67 */
Kojto 109:9296ab0bfc11 68
Kojto 109:9296ab0bfc11 69 /** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangleamplitude
Kojto 109:9296ab0bfc11 70 * @{
Kojto 109:9296ab0bfc11 71 */
Kojto 109:9296ab0bfc11 72 #define DAC_LFSRUNMASK_BIT0 ((uint32_t)0x00000000) /*!< Unmask DAC channel LFSR bit0 for noise wave generation */
Kojto 109:9296ab0bfc11 73 #define DAC_LFSRUNMASK_BITS1_0 ((uint32_t)DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */
Kojto 109:9296ab0bfc11 74 #define DAC_LFSRUNMASK_BITS2_0 ((uint32_t)DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */
Kojto 109:9296ab0bfc11 75 #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 */
Kojto 109:9296ab0bfc11 76 #define DAC_LFSRUNMASK_BITS4_0 ((uint32_t)DAC_CR_MAMP1_2) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */
Kojto 109:9296ab0bfc11 77 #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 */
Kojto 109:9296ab0bfc11 78 #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 */
Kojto 109:9296ab0bfc11 79 #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 */
Kojto 109:9296ab0bfc11 80 #define DAC_LFSRUNMASK_BITS8_0 ((uint32_t)DAC_CR_MAMP1_3) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */
Kojto 109:9296ab0bfc11 81 #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 */
Kojto 109:9296ab0bfc11 82 #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 */
Kojto 109:9296ab0bfc11 83 #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 */
Kojto 109:9296ab0bfc11 84 #define DAC_TRIANGLEAMPLITUDE_1 ((uint32_t)0x00000000) /*!< Select max triangle amplitude of 1 */
Kojto 109:9296ab0bfc11 85 #define DAC_TRIANGLEAMPLITUDE_3 ((uint32_t)DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 3 */
Kojto 109:9296ab0bfc11 86 #define DAC_TRIANGLEAMPLITUDE_7 ((uint32_t)DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 7 */
Kojto 109:9296ab0bfc11 87 #define DAC_TRIANGLEAMPLITUDE_15 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 15 */
Kojto 109:9296ab0bfc11 88 #define DAC_TRIANGLEAMPLITUDE_31 ((uint32_t)DAC_CR_MAMP1_2) /*!< Select max triangle amplitude of 31 */
Kojto 109:9296ab0bfc11 89 #define DAC_TRIANGLEAMPLITUDE_63 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 63 */
Kojto 109:9296ab0bfc11 90 #define DAC_TRIANGLEAMPLITUDE_127 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 127 */
Kojto 109:9296ab0bfc11 91 #define DAC_TRIANGLEAMPLITUDE_255 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 255 */
Kojto 109:9296ab0bfc11 92 #define DAC_TRIANGLEAMPLITUDE_511 ((uint32_t)DAC_CR_MAMP1_3) /*!< Select max triangle amplitude of 511 */
Kojto 109:9296ab0bfc11 93 #define DAC_TRIANGLEAMPLITUDE_1023 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 1023 */
Kojto 109:9296ab0bfc11 94 #define DAC_TRIANGLEAMPLITUDE_2047 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 2047 */
Kojto 109:9296ab0bfc11 95 #define DAC_TRIANGLEAMPLITUDE_4095 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 4095 */
Kojto 109:9296ab0bfc11 96
Kojto 109:9296ab0bfc11 97
Kojto 109:9296ab0bfc11 98 /**
Kojto 109:9296ab0bfc11 99 * @}
Kojto 109:9296ab0bfc11 100 */
Kojto 109:9296ab0bfc11 101
Kojto 109:9296ab0bfc11 102 /**
Kojto 109:9296ab0bfc11 103 * @}
Kojto 109:9296ab0bfc11 104 */
Kojto 109:9296ab0bfc11 105
Kojto 109:9296ab0bfc11 106 /* Exported macro ------------------------------------------------------------*/
Kojto 109:9296ab0bfc11 107
Kojto 109:9296ab0bfc11 108
Kojto 109:9296ab0bfc11 109 /** @defgroup DACEx_Exported_Macros DACEx Exported Macros
Kojto 109:9296ab0bfc11 110 * @{
Kojto 109:9296ab0bfc11 111 */
Kojto 109:9296ab0bfc11 112
Kojto 109:9296ab0bfc11 113 /** @defgroup DAC_trigger_selection DAC trigger selection
Kojto 109:9296ab0bfc11 114 * @{
Kojto 109:9296ab0bfc11 115 */
Kojto 109:9296ab0bfc11 116 #if defined(STM32F051x8) || defined(STM32F058xx)
Kojto 109:9296ab0bfc11 117
Kojto 109:9296ab0bfc11 118 #define DAC_TRIGGER_NONE ((uint32_t)0x00000000) /*!< Conversion is automatic once the DAC1_DHRxxxx register
Kojto 109:9296ab0bfc11 119 has been loaded, and not by external trigger */
Kojto 109:9296ab0bfc11 120 #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 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 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
Kojto 109:9296ab0bfc11 123 #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 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 */
Kojto 109:9296ab0bfc11 125 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
Kojto 109:9296ab0bfc11 126
Kojto 109:9296ab0bfc11 127 #endif /* STM32F051x8 || STM32F058xx */
Kojto 109:9296ab0bfc11 128
Kojto 109:9296ab0bfc11 129 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || \
Kojto 109:9296ab0bfc11 130 defined(STM32F091xC) || defined(STM32F098xx)
Kojto 109:9296ab0bfc11 131
Kojto 109:9296ab0bfc11 132 #define DAC_TRIGGER_NONE ((uint32_t)0x00000000) /*!< Conversion is automatic once the DAC1_DHRxxxx register
Kojto 109:9296ab0bfc11 133 has been loaded, and not by external trigger */
Kojto 109:9296ab0bfc11 134 #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 135 #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 136 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
Kojto 109:9296ab0bfc11 137 #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 138 #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 139 #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 140 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
Kojto 109:9296ab0bfc11 141
Kojto 109:9296ab0bfc11 142 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
Kojto 109:9296ab0bfc11 143 /* STM32F091xC || STM32F098xx */
Kojto 109:9296ab0bfc11 144
Kojto 109:9296ab0bfc11 145 /**
Kojto 109:9296ab0bfc11 146 * @}
Kojto 109:9296ab0bfc11 147 */
Kojto 109:9296ab0bfc11 148
Kojto 109:9296ab0bfc11 149 /** @defgroup DAC_Channel_selection DAC Channel selection
Kojto 109:9296ab0bfc11 150 * @{
Kojto 109:9296ab0bfc11 151 */
Kojto 109:9296ab0bfc11 152
Kojto 109:9296ab0bfc11 153 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || \
Kojto 109:9296ab0bfc11 154 defined(STM32F091xC) || defined(STM32F098xx)
Kojto 109:9296ab0bfc11 155
Kojto 109:9296ab0bfc11 156 #define DAC_CHANNEL_1 ((uint32_t)0x00000000)
Kojto 109:9296ab0bfc11 157 #define DAC_CHANNEL_2 ((uint32_t)0x00000010)
Kojto 109:9296ab0bfc11 158
Kojto 109:9296ab0bfc11 159 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
Kojto 109:9296ab0bfc11 160 /* STM32F091xC || STM32F098xx */
Kojto 109:9296ab0bfc11 161
Kojto 109:9296ab0bfc11 162 #if defined(STM32F051x8) || defined(STM32F058xx)
Kojto 109:9296ab0bfc11 163
Kojto 109:9296ab0bfc11 164 #define DAC_CHANNEL_1 ((uint32_t)0x00000000)
Kojto 109:9296ab0bfc11 165
Kojto 109:9296ab0bfc11 166 #endif /* STM32F051x8 || STM32F058xx */
Kojto 109:9296ab0bfc11 167
Kojto 109:9296ab0bfc11 168 /**
Kojto 109:9296ab0bfc11 169 * @}
Kojto 109:9296ab0bfc11 170 */
Kojto 109:9296ab0bfc11 171
Kojto 109:9296ab0bfc11 172 /**
Kojto 109:9296ab0bfc11 173 * @}
Kojto 109:9296ab0bfc11 174 */
Kojto 109:9296ab0bfc11 175
Kojto 109:9296ab0bfc11 176 /* Private macro -------------------------------------------------------------*/
Kojto 109:9296ab0bfc11 177
Kojto 109:9296ab0bfc11 178 /** @addtogroup DACEx_Private_Macros
Kojto 109:9296ab0bfc11 179 * @{
Kojto 109:9296ab0bfc11 180 */
Kojto 109:9296ab0bfc11 181
Kojto 109:9296ab0bfc11 182 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || \
Kojto 109:9296ab0bfc11 183 defined(STM32F091xC) || defined(STM32F098xx)
Kojto 109:9296ab0bfc11 184
Kojto 109:9296ab0bfc11 185 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
Kojto 109:9296ab0bfc11 186 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
Kojto 109:9296ab0bfc11 187 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
Kojto 109:9296ab0bfc11 188 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
Kojto 109:9296ab0bfc11 189 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
Kojto 109:9296ab0bfc11 190 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
Kojto 109:9296ab0bfc11 191 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
Kojto 109:9296ab0bfc11 192 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
Kojto 109:9296ab0bfc11 193
Kojto 109:9296ab0bfc11 194 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
Kojto 109:9296ab0bfc11 195 /* STM32F091xC || STM32F098xx */
Kojto 109:9296ab0bfc11 196
Kojto 109:9296ab0bfc11 197 #if defined(STM32F051x8) || defined(STM32F058xx)
Kojto 109:9296ab0bfc11 198
Kojto 109:9296ab0bfc11 199 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
Kojto 109:9296ab0bfc11 200 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
Kojto 109:9296ab0bfc11 201 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
Kojto 109:9296ab0bfc11 202 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
Kojto 109:9296ab0bfc11 203 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
Kojto 109:9296ab0bfc11 204 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
Kojto 109:9296ab0bfc11 205 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
Kojto 109:9296ab0bfc11 206
Kojto 109:9296ab0bfc11 207 #endif /* STM32F051x8 || STM32F058xx */
Kojto 109:9296ab0bfc11 208
Kojto 109:9296ab0bfc11 209 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || \
Kojto 109:9296ab0bfc11 210 defined(STM32F091xC) || defined(STM32F098xx)
Kojto 109:9296ab0bfc11 211
Kojto 109:9296ab0bfc11 212 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
Kojto 109:9296ab0bfc11 213 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
Kojto 109:9296ab0bfc11 214 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
Kojto 109:9296ab0bfc11 215 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
Kojto 109:9296ab0bfc11 216 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
Kojto 109:9296ab0bfc11 217 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
Kojto 109:9296ab0bfc11 218 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
Kojto 109:9296ab0bfc11 219 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
Kojto 109:9296ab0bfc11 220
Kojto 109:9296ab0bfc11 221 #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
Kojto 109:9296ab0bfc11 222 /* STM32F091xC || STM32F098xx */
Kojto 109:9296ab0bfc11 223
Kojto 109:9296ab0bfc11 224 #define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \
Kojto 109:9296ab0bfc11 225 ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \
Kojto 109:9296ab0bfc11 226 ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \
Kojto 109:9296ab0bfc11 227 ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \
Kojto 109:9296ab0bfc11 228 ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \
Kojto 109:9296ab0bfc11 229 ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \
Kojto 109:9296ab0bfc11 230 ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \
Kojto 109:9296ab0bfc11 231 ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \
Kojto 109:9296ab0bfc11 232 ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \
Kojto 109:9296ab0bfc11 233 ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \
Kojto 109:9296ab0bfc11 234 ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \
Kojto 109:9296ab0bfc11 235 ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \
Kojto 109:9296ab0bfc11 236 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \
Kojto 109:9296ab0bfc11 237 ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \
Kojto 109:9296ab0bfc11 238 ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \
Kojto 109:9296ab0bfc11 239 ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \
Kojto 109:9296ab0bfc11 240 ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \
Kojto 109:9296ab0bfc11 241 ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \
Kojto 109:9296ab0bfc11 242 ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \
Kojto 109:9296ab0bfc11 243 ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \
Kojto 109:9296ab0bfc11 244 ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \
Kojto 109:9296ab0bfc11 245 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \
Kojto 109:9296ab0bfc11 246 ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \
Kojto 109:9296ab0bfc11 247 ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095))
Kojto 109:9296ab0bfc11 248
Kojto 109:9296ab0bfc11 249 /**
Kojto 109:9296ab0bfc11 250 * @}
Kojto 109:9296ab0bfc11 251 */
Kojto 109:9296ab0bfc11 252
Kojto 109:9296ab0bfc11 253 /* Exported functions --------------------------------------------------------*/
Kojto 109:9296ab0bfc11 254
Kojto 109:9296ab0bfc11 255 /** @addtogroup DACEx_Exported_Functions
Kojto 109:9296ab0bfc11 256 * @{
Kojto 109:9296ab0bfc11 257 */
Kojto 109:9296ab0bfc11 258
Kojto 109:9296ab0bfc11 259 /** @addtogroup DACEx_Exported_Functions_Group1
Kojto 109:9296ab0bfc11 260 * @{
Kojto 109:9296ab0bfc11 261 */
Kojto 109:9296ab0bfc11 262 /* IO operation functions *****************************************************/
Kojto 109:9296ab0bfc11 263
Kojto 109:9296ab0bfc11 264 HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
Kojto 109:9296ab0bfc11 265 HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
Kojto 109:9296ab0bfc11 266 HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
Kojto 109:9296ab0bfc11 267
Kojto 109:9296ab0bfc11 268 void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac);
Kojto 109:9296ab0bfc11 269 void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac);
Kojto 109:9296ab0bfc11 270 void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef* hdac);
Kojto 109:9296ab0bfc11 271 void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef* hdac);
Kojto 109:9296ab0bfc11 272
Kojto 109:9296ab0bfc11 273 /**
Kojto 109:9296ab0bfc11 274 * @}
Kojto 109:9296ab0bfc11 275 */
Kojto 109:9296ab0bfc11 276
Kojto 109:9296ab0bfc11 277 /** @addtogroup DACEx_Exported_Functions_Group3
Kojto 109:9296ab0bfc11 278 * @{
Kojto 109:9296ab0bfc11 279 */
Kojto 109:9296ab0bfc11 280 /* Peripheral Control functions ***********************************************/
Kojto 109:9296ab0bfc11 281
Kojto 109:9296ab0bfc11 282 uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac);
Kojto 109:9296ab0bfc11 283
Kojto 109:9296ab0bfc11 284 /**
Kojto 109:9296ab0bfc11 285 * @}
Kojto 109:9296ab0bfc11 286 */
Kojto 109:9296ab0bfc11 287
Kojto 109:9296ab0bfc11 288 /**
Kojto 109:9296ab0bfc11 289 * @}
Kojto 109:9296ab0bfc11 290 */
Kojto 109:9296ab0bfc11 291
Kojto 109:9296ab0bfc11 292 /**
Kojto 109:9296ab0bfc11 293 * @}
Kojto 109:9296ab0bfc11 294 */
Kojto 109:9296ab0bfc11 295
Kojto 109:9296ab0bfc11 296 #endif /* STM32F051x8 || STM32F058xx || */
Kojto 109:9296ab0bfc11 297 /* STM32F071xB || STM32F072xB || STM32F078xx || */
Kojto 109:9296ab0bfc11 298 /* STM32F091xC || STM32F098xx */
Kojto 109:9296ab0bfc11 299
Kojto 109:9296ab0bfc11 300 /**
Kojto 109:9296ab0bfc11 301 * @}
Kojto 109:9296ab0bfc11 302 */
Kojto 109:9296ab0bfc11 303
Kojto 109:9296ab0bfc11 304 #ifdef __cplusplus
Kojto 109:9296ab0bfc11 305 }
Kojto 109:9296ab0bfc11 306 #endif
Kojto 109:9296ab0bfc11 307
Kojto 109:9296ab0bfc11 308 #endif /*__STM32F0xx_HAL_DAC_EX_H */
Kojto 109:9296ab0bfc11 309
Kojto 109:9296ab0bfc11 310 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/