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:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /**
AnnaBridge 172:65be27845400 2 ******************************************************************************
AnnaBridge 172:65be27845400 3 * @file stm32h7xx_hal_dac_ex.h
AnnaBridge 172:65be27845400 4 * @author MCD Application Team
AnnaBridge 172:65be27845400 5 * @brief Header file of DAC HAL Extended module.
AnnaBridge 172:65be27845400 6 ******************************************************************************
AnnaBridge 172:65be27845400 7 * @attention
AnnaBridge 172:65be27845400 8 *
AnnaBridge 172:65be27845400 9 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
AnnaBridge 172:65be27845400 10 * All rights reserved.</center></h2>
AnnaBridge 172:65be27845400 11 *
AnnaBridge 172:65be27845400 12 * This software component is licensed by ST under BSD 3-Clause license,
AnnaBridge 172:65be27845400 13 * the "License"; You may not use this file except in compliance with the
AnnaBridge 172:65be27845400 14 * License. You may obtain a copy of the License at:
AnnaBridge 172:65be27845400 15 * opensource.org/licenses/BSD-3-Clause
AnnaBridge 172:65be27845400 16 *
AnnaBridge 172:65be27845400 17 ******************************************************************************
AnnaBridge 172:65be27845400 18 */
AnnaBridge 172:65be27845400 19
AnnaBridge 172:65be27845400 20 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 21 #ifndef STM32H7xx_HAL_DAC_EX_H
AnnaBridge 172:65be27845400 22 #define STM32H7xx_HAL_DAC_EX_H
AnnaBridge 172:65be27845400 23
AnnaBridge 172:65be27845400 24 #ifdef __cplusplus
AnnaBridge 172:65be27845400 25 extern "C" {
AnnaBridge 172:65be27845400 26 #endif
AnnaBridge 172:65be27845400 27
AnnaBridge 172:65be27845400 28 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 29 #include "stm32h7xx_hal_def.h"
AnnaBridge 172:65be27845400 30
AnnaBridge 172:65be27845400 31 /** @addtogroup STM32H7xx_HAL_Driver
AnnaBridge 172:65be27845400 32 * @{
AnnaBridge 172:65be27845400 33 */
AnnaBridge 172:65be27845400 34
AnnaBridge 172:65be27845400 35 /** @addtogroup DACEx
AnnaBridge 172:65be27845400 36 * @{
AnnaBridge 172:65be27845400 37 */
AnnaBridge 172:65be27845400 38
AnnaBridge 172:65be27845400 39 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 40
AnnaBridge 172:65be27845400 41 /**
AnnaBridge 172:65be27845400 42 * @brief HAL State structures definition
AnnaBridge 172:65be27845400 43 */
AnnaBridge 172:65be27845400 44
AnnaBridge 172:65be27845400 45 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 46
AnnaBridge 172:65be27845400 47 /** @defgroup DACEx_Exported_Constants DACEx Exported Constants
AnnaBridge 172:65be27845400 48 * @{
AnnaBridge 172:65be27845400 49 */
AnnaBridge 172:65be27845400 50 /** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangle amplitude
AnnaBridge 172:65be27845400 51 * @{
AnnaBridge 172:65be27845400 52 */
AnnaBridge 172:65be27845400 53 #define DAC_LFSRUNMASK_BIT0 0x00000000U /*!< Unmask DAC channel LFSR bit0 for noise wave generation */
AnnaBridge 172:65be27845400 54 #define DAC_LFSRUNMASK_BITS1_0 ( DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */
AnnaBridge 172:65be27845400 55 #define DAC_LFSRUNMASK_BITS2_0 ( DAC_CR_MAMP1_1 ) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */
AnnaBridge 172:65be27845400 56 #define DAC_LFSRUNMASK_BITS3_0 ( DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[3:0] for noise wave generation */
AnnaBridge 172:65be27845400 57 #define DAC_LFSRUNMASK_BITS4_0 ( DAC_CR_MAMP1_2 ) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */
AnnaBridge 172:65be27845400 58 #define DAC_LFSRUNMASK_BITS5_0 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[5:0] for noise wave generation */
AnnaBridge 172:65be27845400 59 #define DAC_LFSRUNMASK_BITS6_0 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 ) /*!< Unmask DAC channel LFSR bit[6:0] for noise wave generation */
AnnaBridge 172:65be27845400 60 #define DAC_LFSRUNMASK_BITS7_0 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[7:0] for noise wave generation */
AnnaBridge 172:65be27845400 61 #define DAC_LFSRUNMASK_BITS8_0 (DAC_CR_MAMP1_3 ) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */
AnnaBridge 172:65be27845400 62 #define DAC_LFSRUNMASK_BITS9_0 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[9:0] for noise wave generation */
AnnaBridge 172:65be27845400 63 #define DAC_LFSRUNMASK_BITS10_0 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 ) /*!< Unmask DAC channel LFSR bit[10:0] for noise wave generation */
AnnaBridge 172:65be27845400 64 #define DAC_LFSRUNMASK_BITS11_0 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[11:0] for noise wave generation */
AnnaBridge 172:65be27845400 65 #define DAC_TRIANGLEAMPLITUDE_1 0x00000000U /*!< Select max triangle amplitude of 1 */
AnnaBridge 172:65be27845400 66 #define DAC_TRIANGLEAMPLITUDE_3 ( DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 3 */
AnnaBridge 172:65be27845400 67 #define DAC_TRIANGLEAMPLITUDE_7 ( DAC_CR_MAMP1_1 ) /*!< Select max triangle amplitude of 7 */
AnnaBridge 172:65be27845400 68 #define DAC_TRIANGLEAMPLITUDE_15 ( DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 15 */
AnnaBridge 172:65be27845400 69 #define DAC_TRIANGLEAMPLITUDE_31 ( DAC_CR_MAMP1_2 ) /*!< Select max triangle amplitude of 31 */
AnnaBridge 172:65be27845400 70 #define DAC_TRIANGLEAMPLITUDE_63 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 63 */
AnnaBridge 172:65be27845400 71 #define DAC_TRIANGLEAMPLITUDE_127 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 ) /*!< Select max triangle amplitude of 127 */
AnnaBridge 172:65be27845400 72 #define DAC_TRIANGLEAMPLITUDE_255 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 255 */
AnnaBridge 172:65be27845400 73 #define DAC_TRIANGLEAMPLITUDE_511 (DAC_CR_MAMP1_3 ) /*!< Select max triangle amplitude of 511 */
AnnaBridge 172:65be27845400 74 #define DAC_TRIANGLEAMPLITUDE_1023 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 1023 */
AnnaBridge 172:65be27845400 75 #define DAC_TRIANGLEAMPLITUDE_2047 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 ) /*!< Select max triangle amplitude of 2047 */
AnnaBridge 172:65be27845400 76 #define DAC_TRIANGLEAMPLITUDE_4095 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 4095 */
AnnaBridge 172:65be27845400 77 /**
AnnaBridge 172:65be27845400 78 * @}
AnnaBridge 172:65be27845400 79 */
AnnaBridge 172:65be27845400 80
AnnaBridge 172:65be27845400 81 /**
AnnaBridge 172:65be27845400 82 * @}
AnnaBridge 172:65be27845400 83 */
AnnaBridge 172:65be27845400 84
AnnaBridge 172:65be27845400 85 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 86
AnnaBridge 172:65be27845400 87
AnnaBridge 172:65be27845400 88 /* Private macro -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 89
AnnaBridge 172:65be27845400 90 /** @defgroup DACEx_Private_Macros DACEx Private Macros
AnnaBridge 172:65be27845400 91 * @{
AnnaBridge 172:65be27845400 92 */
AnnaBridge 172:65be27845400 93
AnnaBridge 172:65be27845400 94 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 172:65be27845400 95 ((TRIGGER) == DAC_TRIGGER_T1_TRGO) || \
AnnaBridge 172:65be27845400 96 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 172:65be27845400 97 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
AnnaBridge 172:65be27845400 98 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
AnnaBridge 172:65be27845400 99 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 172:65be27845400 100 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 172:65be27845400 101 ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \
AnnaBridge 172:65be27845400 102 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
AnnaBridge 172:65be27845400 103 ((TRIGGER) == DAC_TRIGGER_HR1_TRGO1) || \
AnnaBridge 172:65be27845400 104 ((TRIGGER) == DAC_TRIGGER_HR1_TRGO2) || \
AnnaBridge 172:65be27845400 105 ((TRIGGER) == DAC_TRIGGER_LP1_OUT) || \
AnnaBridge 172:65be27845400 106 ((TRIGGER) == DAC_TRIGGER_LP2_OUT) || \
AnnaBridge 172:65be27845400 107 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 172:65be27845400 108 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 172:65be27845400 109
AnnaBridge 172:65be27845400 110 #define IS_DAC_SAMPLETIME(TIME) ((TIME) <= 0x000003FFU)
AnnaBridge 172:65be27845400 111
AnnaBridge 172:65be27845400 112 #define IS_DAC_HOLDTIME(TIME) ((TIME) <= 0x000003FFU)
AnnaBridge 172:65be27845400 113
AnnaBridge 172:65be27845400 114 #define IS_DAC_SAMPLEANDHOLD(MODE) (((MODE) == DAC_SAMPLEANDHOLD_DISABLE) || \
AnnaBridge 172:65be27845400 115 ((MODE) == DAC_SAMPLEANDHOLD_ENABLE))
AnnaBridge 172:65be27845400 116
AnnaBridge 172:65be27845400 117
AnnaBridge 172:65be27845400 118 #define IS_DAC_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1FU)
AnnaBridge 172:65be27845400 119
AnnaBridge 172:65be27845400 120 #define IS_DAC_NEWTRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1FU)
AnnaBridge 172:65be27845400 121
AnnaBridge 172:65be27845400 122 #define IS_DAC_CHIP_CONNECTION(CONNECT) (((CONNECT) == DAC_CHIPCONNECT_DISABLE) || \
AnnaBridge 172:65be27845400 123 ((CONNECT) == DAC_CHIPCONNECT_ENABLE))
AnnaBridge 172:65be27845400 124
AnnaBridge 172:65be27845400 125 #define IS_DAC_TRIMMING(TRIMMING) (((TRIMMING) == DAC_TRIMMING_FACTORY) || \
AnnaBridge 172:65be27845400 126 ((TRIMMING) == DAC_TRIMMING_USER))
AnnaBridge 172:65be27845400 127
AnnaBridge 172:65be27845400 128 #define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \
AnnaBridge 172:65be27845400 129 ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \
AnnaBridge 172:65be27845400 130 ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \
AnnaBridge 172:65be27845400 131 ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \
AnnaBridge 172:65be27845400 132 ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \
AnnaBridge 172:65be27845400 133 ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \
AnnaBridge 172:65be27845400 134 ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \
AnnaBridge 172:65be27845400 135 ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \
AnnaBridge 172:65be27845400 136 ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \
AnnaBridge 172:65be27845400 137 ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \
AnnaBridge 172:65be27845400 138 ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \
AnnaBridge 172:65be27845400 139 ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \
AnnaBridge 172:65be27845400 140 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \
AnnaBridge 172:65be27845400 141 ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \
AnnaBridge 172:65be27845400 142 ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \
AnnaBridge 172:65be27845400 143 ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \
AnnaBridge 172:65be27845400 144 ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \
AnnaBridge 172:65be27845400 145 ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \
AnnaBridge 172:65be27845400 146 ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \
AnnaBridge 172:65be27845400 147 ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \
AnnaBridge 172:65be27845400 148 ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \
AnnaBridge 172:65be27845400 149 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \
AnnaBridge 172:65be27845400 150 ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \
AnnaBridge 172:65be27845400 151 ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095))
AnnaBridge 172:65be27845400 152
AnnaBridge 172:65be27845400 153
AnnaBridge 172:65be27845400 154 /**
AnnaBridge 172:65be27845400 155 * @}
AnnaBridge 172:65be27845400 156 */
AnnaBridge 172:65be27845400 157
AnnaBridge 172:65be27845400 158 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 159 /* Extended features functions ***********************************************/
AnnaBridge 172:65be27845400 160
AnnaBridge 172:65be27845400 161 /** @addtogroup DACEx_Exported_Functions
AnnaBridge 172:65be27845400 162 * @{
AnnaBridge 172:65be27845400 163 */
AnnaBridge 172:65be27845400 164 /** @addtogroup DACEx_Exported_Functions_Group2
AnnaBridge 172:65be27845400 165 * @{
AnnaBridge 172:65be27845400 166 */
AnnaBridge 172:65be27845400 167 /* IO operation functions *****************************************************/
AnnaBridge 172:65be27845400 168
AnnaBridge 172:65be27845400 169 HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
AnnaBridge 172:65be27845400 170 HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
AnnaBridge 172:65be27845400 171 HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
AnnaBridge 172:65be27845400 172
AnnaBridge 172:65be27845400 173 void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 172:65be27845400 174 void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 172:65be27845400 175 void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 172:65be27845400 176 void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 172:65be27845400 177
AnnaBridge 172:65be27845400 178 HAL_StatusTypeDef HAL_DACEx_SelfCalibrate (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel);
AnnaBridge 172:65be27845400 179 HAL_StatusTypeDef HAL_DACEx_SetUserTrimming (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel, uint32_t NewTrimmingValue);
AnnaBridge 172:65be27845400 180
AnnaBridge 172:65be27845400 181 /**
AnnaBridge 172:65be27845400 182 * @}
AnnaBridge 172:65be27845400 183 */
AnnaBridge 172:65be27845400 184
AnnaBridge 172:65be27845400 185 /** @addtogroup DACEx_Exported_Functions_Group3
AnnaBridge 172:65be27845400 186 * @{
AnnaBridge 172:65be27845400 187 */
AnnaBridge 172:65be27845400 188 /* Peripheral Control functions ***********************************************/
AnnaBridge 172:65be27845400 189
AnnaBridge 172:65be27845400 190 uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac);
AnnaBridge 172:65be27845400 191 uint32_t HAL_DACEx_GetTrimOffset (DAC_HandleTypeDef *hdac, uint32_t Channel);
AnnaBridge 172:65be27845400 192
AnnaBridge 172:65be27845400 193 /**
AnnaBridge 172:65be27845400 194 * @}
AnnaBridge 172:65be27845400 195 */
AnnaBridge 172:65be27845400 196
AnnaBridge 172:65be27845400 197 /**
AnnaBridge 172:65be27845400 198 * @}
AnnaBridge 172:65be27845400 199 */
AnnaBridge 172:65be27845400 200
AnnaBridge 172:65be27845400 201 /** @addtogroup DACEx_Private_Functions
AnnaBridge 172:65be27845400 202 * @{
AnnaBridge 172:65be27845400 203 */
AnnaBridge 172:65be27845400 204
AnnaBridge 172:65be27845400 205 /* DAC_DMAConvCpltCh2 / DAC_DMAErrorCh2 / DAC_DMAHalfConvCpltCh2 */
AnnaBridge 172:65be27845400 206 /* are called by HAL_DAC_Start_DMA */
AnnaBridge 172:65be27845400 207 void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma);
AnnaBridge 172:65be27845400 208 void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma);
AnnaBridge 172:65be27845400 209 void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma);
AnnaBridge 172:65be27845400 210
AnnaBridge 172:65be27845400 211 /**
AnnaBridge 172:65be27845400 212 * @}
AnnaBridge 172:65be27845400 213 */
AnnaBridge 172:65be27845400 214
AnnaBridge 172:65be27845400 215 /**
AnnaBridge 172:65be27845400 216 * @}
AnnaBridge 172:65be27845400 217 */
AnnaBridge 172:65be27845400 218
AnnaBridge 172:65be27845400 219 /**
AnnaBridge 172:65be27845400 220 * @}
AnnaBridge 172:65be27845400 221 */
AnnaBridge 172:65be27845400 222
AnnaBridge 172:65be27845400 223
AnnaBridge 172:65be27845400 224 #ifdef __cplusplus
AnnaBridge 172:65be27845400 225 }
AnnaBridge 172:65be27845400 226 #endif
AnnaBridge 172:65be27845400 227
AnnaBridge 172:65be27845400 228 #endif /*STM32H7xx_HAL_DAC_EX_H */
AnnaBridge 172:65be27845400 229
AnnaBridge 172:65be27845400 230 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/