mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Mon Nov 03 10:15:07 2014 +0000
Revision:
380:510f0c3515e3
Parent:
targets/cmsis/TARGET_STM/TARGET_NUCLEO_F411RE/stm32f4xx_hal_dac.h@235:685d5f11838f
Child:
532:fe11edbda85c
Synchronized with git revision 417f470ba9f4882d7079611cbc576afd9c49b0ef

Full URL: https://github.com/mbedmicro/mbed/commit/417f470ba9f4882d7079611cbc576afd9c49b0ef/

Targets: Factorisation of NUCLEO_F401RE and F411RE cmsis folders

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 235:685d5f11838f 1 /**
mbed_official 235:685d5f11838f 2 ******************************************************************************
mbed_official 235:685d5f11838f 3 * @file stm32f4xx_hal_dac.h
mbed_official 235:685d5f11838f 4 * @author MCD Application Team
mbed_official 235:685d5f11838f 5 * @version V1.1.0
mbed_official 235:685d5f11838f 6 * @date 19-June-2014
mbed_official 235:685d5f11838f 7 * @brief Header file of DAC HAL module.
mbed_official 235:685d5f11838f 8 ******************************************************************************
mbed_official 235:685d5f11838f 9 * @attention
mbed_official 235:685d5f11838f 10 *
mbed_official 235:685d5f11838f 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 235:685d5f11838f 12 *
mbed_official 235:685d5f11838f 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 235:685d5f11838f 14 * are permitted provided that the following conditions are met:
mbed_official 235:685d5f11838f 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 235:685d5f11838f 16 * this list of conditions and the following disclaimer.
mbed_official 235:685d5f11838f 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 235:685d5f11838f 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 235:685d5f11838f 19 * and/or other materials provided with the distribution.
mbed_official 235:685d5f11838f 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 235:685d5f11838f 21 * may be used to endorse or promote products derived from this software
mbed_official 235:685d5f11838f 22 * without specific prior written permission.
mbed_official 235:685d5f11838f 23 *
mbed_official 235:685d5f11838f 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 235:685d5f11838f 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 235:685d5f11838f 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 235:685d5f11838f 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 235:685d5f11838f 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 235:685d5f11838f 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 235:685d5f11838f 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 235:685d5f11838f 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 235:685d5f11838f 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 235:685d5f11838f 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 235:685d5f11838f 34 *
mbed_official 235:685d5f11838f 35 ******************************************************************************
mbed_official 235:685d5f11838f 36 */
mbed_official 235:685d5f11838f 37
mbed_official 235:685d5f11838f 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 235:685d5f11838f 39 #ifndef __STM32F4xx_HAL_DAC_H
mbed_official 235:685d5f11838f 40 #define __STM32F4xx_HAL_DAC_H
mbed_official 235:685d5f11838f 41
mbed_official 235:685d5f11838f 42 #ifdef __cplusplus
mbed_official 235:685d5f11838f 43 extern "C" {
mbed_official 235:685d5f11838f 44 #endif
mbed_official 235:685d5f11838f 45
mbed_official 235:685d5f11838f 46 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)
mbed_official 235:685d5f11838f 47
mbed_official 235:685d5f11838f 48 /* Includes ------------------------------------------------------------------*/
mbed_official 235:685d5f11838f 49 #include "stm32f4xx_hal_def.h"
mbed_official 235:685d5f11838f 50
mbed_official 235:685d5f11838f 51 /** @addtogroup STM32F4xx_HAL_Driver
mbed_official 235:685d5f11838f 52 * @{
mbed_official 235:685d5f11838f 53 */
mbed_official 235:685d5f11838f 54
mbed_official 235:685d5f11838f 55 /** @addtogroup DAC
mbed_official 235:685d5f11838f 56 * @{
mbed_official 235:685d5f11838f 57 */
mbed_official 235:685d5f11838f 58
mbed_official 235:685d5f11838f 59 /* Exported types ------------------------------------------------------------*/
mbed_official 235:685d5f11838f 60
mbed_official 235:685d5f11838f 61 /**
mbed_official 235:685d5f11838f 62 * @brief HAL State structures definition
mbed_official 235:685d5f11838f 63 */
mbed_official 235:685d5f11838f 64 typedef enum
mbed_official 235:685d5f11838f 65 {
mbed_official 235:685d5f11838f 66 HAL_DAC_STATE_RESET = 0x00, /*!< DAC not yet initialized or disabled */
mbed_official 235:685d5f11838f 67 HAL_DAC_STATE_READY = 0x01, /*!< DAC initialized and ready for use */
mbed_official 235:685d5f11838f 68 HAL_DAC_STATE_BUSY = 0x02, /*!< DAC internal processing is ongoing */
mbed_official 235:685d5f11838f 69 HAL_DAC_STATE_TIMEOUT = 0x03, /*!< DAC timeout state */
mbed_official 235:685d5f11838f 70 HAL_DAC_STATE_ERROR = 0x04 /*!< DAC error state */
mbed_official 235:685d5f11838f 71 }HAL_DAC_StateTypeDef;
mbed_official 235:685d5f11838f 72
mbed_official 235:685d5f11838f 73 /**
mbed_official 235:685d5f11838f 74 * @brief DAC handle Structure definition
mbed_official 235:685d5f11838f 75 */
mbed_official 235:685d5f11838f 76 typedef struct
mbed_official 235:685d5f11838f 77 {
mbed_official 235:685d5f11838f 78 DAC_TypeDef *Instance; /*!< Register base address */
mbed_official 235:685d5f11838f 79
mbed_official 235:685d5f11838f 80 __IO HAL_DAC_StateTypeDef State; /*!< DAC communication state */
mbed_official 235:685d5f11838f 81
mbed_official 235:685d5f11838f 82 HAL_LockTypeDef Lock; /*!< DAC locking object */
mbed_official 235:685d5f11838f 83
mbed_official 235:685d5f11838f 84 DMA_HandleTypeDef *DMA_Handle1; /*!< Pointer DMA handler for channel 1 */
mbed_official 235:685d5f11838f 85
mbed_official 235:685d5f11838f 86 DMA_HandleTypeDef *DMA_Handle2; /*!< Pointer DMA handler for channel 2 */
mbed_official 235:685d5f11838f 87
mbed_official 235:685d5f11838f 88 __IO uint32_t ErrorCode; /*!< DAC Error code */
mbed_official 235:685d5f11838f 89
mbed_official 235:685d5f11838f 90 }DAC_HandleTypeDef;
mbed_official 235:685d5f11838f 91
mbed_official 235:685d5f11838f 92 /**
mbed_official 235:685d5f11838f 93 * @brief DAC Configuration regular Channel structure definition
mbed_official 235:685d5f11838f 94 */
mbed_official 235:685d5f11838f 95 typedef struct
mbed_official 235:685d5f11838f 96 {
mbed_official 235:685d5f11838f 97 uint32_t DAC_Trigger; /*!< Specifies the external trigger for the selected DAC channel.
mbed_official 235:685d5f11838f 98 This parameter can be a value of @ref DAC_trigger_selection */
mbed_official 235:685d5f11838f 99
mbed_official 235:685d5f11838f 100 uint32_t DAC_OutputBuffer; /*!< Specifies whether the DAC channel output buffer is enabled or disabled.
mbed_official 235:685d5f11838f 101 This parameter can be a value of @ref DAC_output_buffer */
mbed_official 235:685d5f11838f 102 }DAC_ChannelConfTypeDef;
mbed_official 235:685d5f11838f 103
mbed_official 235:685d5f11838f 104 /* Exported constants --------------------------------------------------------*/
mbed_official 235:685d5f11838f 105
mbed_official 235:685d5f11838f 106 /** @defgroup DAC_Error_Code
mbed_official 235:685d5f11838f 107 * @{
mbed_official 235:685d5f11838f 108 */
mbed_official 235:685d5f11838f 109 #define HAL_DAC_ERROR_NONE 0x00 /*!< No error */
mbed_official 235:685d5f11838f 110 #define HAL_DAC_ERROR_DMAUNDERRUNCH1 0x01 /*!< DAC channel1 DAM underrun error */
mbed_official 235:685d5f11838f 111 #define HAL_DAC_ERROR_DMAUNDERRUNCH2 0x02 /*!< DAC channel2 DAM underrun error */
mbed_official 235:685d5f11838f 112 #define HAL_DAC_ERROR_DMA 0x04 /*!< DMA error */
mbed_official 235:685d5f11838f 113 /**
mbed_official 235:685d5f11838f 114 * @}
mbed_official 235:685d5f11838f 115 */
mbed_official 235:685d5f11838f 116
mbed_official 235:685d5f11838f 117 /** @defgroup DAC_trigger_selection
mbed_official 235:685d5f11838f 118 * @{
mbed_official 235:685d5f11838f 119 */
mbed_official 235:685d5f11838f 120
mbed_official 235:685d5f11838f 121 #define DAC_TRIGGER_NONE ((uint32_t)0x00000000) /*!< Conversion is automatic once the DAC1_DHRxxxx register
mbed_official 235:685d5f11838f 122 has been loaded, and not by external trigger */
mbed_official 235:685d5f11838f 123 #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
mbed_official 235:685d5f11838f 124 #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 */
mbed_official 235:685d5f11838f 125 #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 */
mbed_official 235:685d5f11838f 126 #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
mbed_official 235:685d5f11838f 127 #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
mbed_official 235:685d5f11838f 128 #define DAC_TRIGGER_T8_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM8 TRGO selected as external conversion trigger for DAC channel */
mbed_official 235:685d5f11838f 129
mbed_official 235:685d5f11838f 130 #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 */
mbed_official 235:685d5f11838f 131 #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
mbed_official 235:685d5f11838f 132
mbed_official 235:685d5f11838f 133 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
mbed_official 235:685d5f11838f 134 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
mbed_official 235:685d5f11838f 135 ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \
mbed_official 235:685d5f11838f 136 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
mbed_official 235:685d5f11838f 137 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
mbed_official 235:685d5f11838f 138 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
mbed_official 235:685d5f11838f 139 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
mbed_official 235:685d5f11838f 140 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
mbed_official 235:685d5f11838f 141 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
mbed_official 235:685d5f11838f 142 /**
mbed_official 235:685d5f11838f 143 * @}
mbed_official 235:685d5f11838f 144 */
mbed_official 235:685d5f11838f 145
mbed_official 235:685d5f11838f 146 /** @defgroup DAC_output_buffer
mbed_official 235:685d5f11838f 147 * @{
mbed_official 235:685d5f11838f 148 */
mbed_official 235:685d5f11838f 149 #define DAC_OUTPUTBUFFER_ENABLE ((uint32_t)0x00000000)
mbed_official 235:685d5f11838f 150 #define DAC_OUTPUTBUFFER_DISABLE ((uint32_t)DAC_CR_BOFF1)
mbed_official 235:685d5f11838f 151
mbed_official 235:685d5f11838f 152 #define IS_DAC_OUTPUT_BUFFER_STATE(STATE) (((STATE) == DAC_OUTPUTBUFFER_ENABLE) || \
mbed_official 235:685d5f11838f 153 ((STATE) == DAC_OUTPUTBUFFER_DISABLE))
mbed_official 235:685d5f11838f 154 /**
mbed_official 235:685d5f11838f 155 * @}
mbed_official 235:685d5f11838f 156 */
mbed_official 235:685d5f11838f 157
mbed_official 235:685d5f11838f 158 /** @defgroup DAC_Channel_selection
mbed_official 235:685d5f11838f 159 * @{
mbed_official 235:685d5f11838f 160 */
mbed_official 235:685d5f11838f 161 #define DAC_CHANNEL_1 ((uint32_t)0x00000000)
mbed_official 235:685d5f11838f 162 #define DAC_CHANNEL_2 ((uint32_t)0x00000010)
mbed_official 235:685d5f11838f 163
mbed_official 235:685d5f11838f 164 #define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_CHANNEL_1) || \
mbed_official 235:685d5f11838f 165 ((CHANNEL) == DAC_CHANNEL_2))
mbed_official 235:685d5f11838f 166 /**
mbed_official 235:685d5f11838f 167 * @}
mbed_official 235:685d5f11838f 168 */
mbed_official 235:685d5f11838f 169
mbed_official 235:685d5f11838f 170 /** @defgroup DAC_data_alignement
mbed_official 235:685d5f11838f 171 * @{
mbed_official 235:685d5f11838f 172 */
mbed_official 235:685d5f11838f 173 #define DAC_ALIGN_12B_R ((uint32_t)0x00000000)
mbed_official 235:685d5f11838f 174 #define DAC_ALIGN_12B_L ((uint32_t)0x00000004)
mbed_official 235:685d5f11838f 175 #define DAC_ALIGN_8B_R ((uint32_t)0x00000008)
mbed_official 235:685d5f11838f 176
mbed_official 235:685d5f11838f 177 #define IS_DAC_ALIGN(ALIGN) (((ALIGN) == DAC_ALIGN_12B_R) || \
mbed_official 235:685d5f11838f 178 ((ALIGN) == DAC_ALIGN_12B_L) || \
mbed_official 235:685d5f11838f 179 ((ALIGN) == DAC_ALIGN_8B_R))
mbed_official 235:685d5f11838f 180 /**
mbed_official 235:685d5f11838f 181 * @}
mbed_official 235:685d5f11838f 182 */
mbed_official 235:685d5f11838f 183
mbed_official 235:685d5f11838f 184 /** @defgroup DAC_data
mbed_official 235:685d5f11838f 185 * @{
mbed_official 235:685d5f11838f 186 */
mbed_official 235:685d5f11838f 187 #define IS_DAC_DATA(DATA) ((DATA) <= 0xFFF0)
mbed_official 235:685d5f11838f 188 /**
mbed_official 235:685d5f11838f 189 * @}
mbed_official 235:685d5f11838f 190 */
mbed_official 235:685d5f11838f 191
mbed_official 235:685d5f11838f 192 /** @defgroup DAC_flags_definition
mbed_official 235:685d5f11838f 193 * @{
mbed_official 235:685d5f11838f 194 */
mbed_official 235:685d5f11838f 195 #define DAC_FLAG_DMAUDR1 ((uint32_t)DAC_SR_DMAUDR1)
mbed_official 235:685d5f11838f 196 #define DAC_FLAG_DMAUDR2 ((uint32_t)DAC_SR_DMAUDR2)
mbed_official 235:685d5f11838f 197
mbed_official 235:685d5f11838f 198 #define IS_DAC_FLAG(FLAG) (((FLAG) == DAC_FLAG_DMAUDR1) || \
mbed_official 235:685d5f11838f 199 ((FLAG) == DAC_FLAG_DMAUDR2))
mbed_official 235:685d5f11838f 200 /**
mbed_official 235:685d5f11838f 201 * @}
mbed_official 235:685d5f11838f 202 */
mbed_official 235:685d5f11838f 203
mbed_official 235:685d5f11838f 204 /** @defgroup DAC_IT_definition
mbed_official 235:685d5f11838f 205 * @{
mbed_official 235:685d5f11838f 206 */
mbed_official 235:685d5f11838f 207 #define DAC_IT_DMAUDR1 ((uint32_t)DAC_SR_DMAUDR1)
mbed_official 235:685d5f11838f 208 #define DAC_IT_DMAUDR2 ((uint32_t)DAC_SR_DMAUDR2)
mbed_official 235:685d5f11838f 209
mbed_official 235:685d5f11838f 210 #define IS_DAC_IT(IT) (((IT) == DAC_IT_DMAUDR1) || \
mbed_official 235:685d5f11838f 211 ((IT) == DAC_IT_DMAUDR2))
mbed_official 235:685d5f11838f 212 /**
mbed_official 235:685d5f11838f 213 * @}
mbed_official 235:685d5f11838f 214 */
mbed_official 235:685d5f11838f 215
mbed_official 235:685d5f11838f 216 /* Exported macro ------------------------------------------------------------*/
mbed_official 235:685d5f11838f 217
mbed_official 235:685d5f11838f 218 /** @brief Reset DAC handle state
mbed_official 235:685d5f11838f 219 * @param __HANDLE__: specifies the DAC handle.
mbed_official 235:685d5f11838f 220 * @retval None
mbed_official 235:685d5f11838f 221 */
mbed_official 235:685d5f11838f 222 #define __HAL_DAC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DAC_STATE_RESET)
mbed_official 235:685d5f11838f 223
mbed_official 235:685d5f11838f 224 /** @brief Enable the DAC channel
mbed_official 235:685d5f11838f 225 * @param __HANDLE__: specifies the DAC handle.
mbed_official 235:685d5f11838f 226 * @param __DAC_Channel__: specifies the DAC channel
mbed_official 235:685d5f11838f 227 * @retval None
mbed_official 235:685d5f11838f 228 */
mbed_official 235:685d5f11838f 229 #define __HAL_DAC_ENABLE(__HANDLE__, __DAC_Channel__) \
mbed_official 235:685d5f11838f 230 ((__HANDLE__)->Instance->CR |= (DAC_CR_EN1 << (__DAC_Channel__)))
mbed_official 235:685d5f11838f 231
mbed_official 235:685d5f11838f 232 /** @brief Disable the DAC channel
mbed_official 235:685d5f11838f 233 * @param __HANDLE__: specifies the DAC handle
mbed_official 235:685d5f11838f 234 * @param __DAC_Channel__: specifies the DAC channel.
mbed_official 235:685d5f11838f 235 * @retval None
mbed_official 235:685d5f11838f 236 */
mbed_official 235:685d5f11838f 237 #define __HAL_DAC_DISABLE(__HANDLE__, __DAC_Channel__) \
mbed_official 235:685d5f11838f 238 ((__HANDLE__)->Instance->CR &= ~(DAC_CR_EN1 << (__DAC_Channel__)))
mbed_official 235:685d5f11838f 239
mbed_official 235:685d5f11838f 240 /** @brief Set DHR12R1 alignment
mbed_official 235:685d5f11838f 241 * @param __ALIGNEMENT__: specifies the DAC alignement
mbed_official 235:685d5f11838f 242 * @retval None
mbed_official 235:685d5f11838f 243 */
mbed_official 235:685d5f11838f 244 #define __HAL_DHR12R1_ALIGNEMENT(__ALIGNEMENT__) (((uint32_t)0x00000008) + (__ALIGNEMENT__))
mbed_official 235:685d5f11838f 245
mbed_official 235:685d5f11838f 246 /** @brief Set DHR12R2 alignment
mbed_official 235:685d5f11838f 247 * @param __ALIGNEMENT__: specifies the DAC alignement
mbed_official 235:685d5f11838f 248 * @retval None
mbed_official 235:685d5f11838f 249 */
mbed_official 235:685d5f11838f 250 #define __HAL_DHR12R2_ALIGNEMENT(__ALIGNEMENT__) (((uint32_t)0x00000014) + (__ALIGNEMENT__))
mbed_official 235:685d5f11838f 251
mbed_official 235:685d5f11838f 252 /** @brief Set DHR12RD alignment
mbed_official 235:685d5f11838f 253 * @param __ALIGNEMENT__: specifies the DAC alignement
mbed_official 235:685d5f11838f 254 * @retval None
mbed_official 235:685d5f11838f 255 */
mbed_official 235:685d5f11838f 256 #define __HAL_DHR12RD_ALIGNEMENT(__ALIGNEMENT__) (((uint32_t)0x00000020) + (__ALIGNEMENT__))
mbed_official 235:685d5f11838f 257
mbed_official 235:685d5f11838f 258 /** @brief Enable the DAC interrupt
mbed_official 235:685d5f11838f 259 * @param __HANDLE__: specifies the DAC handle
mbed_official 235:685d5f11838f 260 * @param __INTERRUPT__: specifies the DAC interrupt.
mbed_official 235:685d5f11838f 261 * @retval None
mbed_official 235:685d5f11838f 262 */
mbed_official 235:685d5f11838f 263 #define __HAL_DAC_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) |= (__INTERRUPT__))
mbed_official 235:685d5f11838f 264
mbed_official 235:685d5f11838f 265 /** @brief Disable the DAC interrupt
mbed_official 235:685d5f11838f 266 * @param __HANDLE__: specifies the DAC handle
mbed_official 235:685d5f11838f 267 * @param __INTERRUPT__: specifies the DAC interrupt.
mbed_official 235:685d5f11838f 268 * @retval None
mbed_official 235:685d5f11838f 269 */
mbed_official 235:685d5f11838f 270 #define __HAL_DAC_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) &= ~(__INTERRUPT__))
mbed_official 235:685d5f11838f 271
mbed_official 235:685d5f11838f 272 /** @brief Get the selected DAC's flag status.
mbed_official 235:685d5f11838f 273 * @param __HANDLE__: specifies the DAC handle.
mbed_official 235:685d5f11838f 274 * @retval None
mbed_official 235:685d5f11838f 275 */
mbed_official 235:685d5f11838f 276 #define __HAL_DAC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__))
mbed_official 235:685d5f11838f 277
mbed_official 235:685d5f11838f 278 /** @brief Clear the DAC's flag.
mbed_official 235:685d5f11838f 279 * @param __HANDLE__: specifies the DAC handle.
mbed_official 235:685d5f11838f 280 * @retval None
mbed_official 235:685d5f11838f 281 */
mbed_official 235:685d5f11838f 282 #define __HAL_DAC_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR) = (__FLAG__))
mbed_official 235:685d5f11838f 283
mbed_official 235:685d5f11838f 284 /* Include DAC HAL Extension module */
mbed_official 235:685d5f11838f 285 #include "stm32f4xx_hal_dac_ex.h"
mbed_official 235:685d5f11838f 286
mbed_official 235:685d5f11838f 287 /* Exported functions --------------------------------------------------------*/
mbed_official 235:685d5f11838f 288 /* Initialization/de-initialization functions *********************************/
mbed_official 235:685d5f11838f 289 HAL_StatusTypeDef HAL_DAC_Init(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 290 HAL_StatusTypeDef HAL_DAC_DeInit(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 291 void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 292 void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 293
mbed_official 235:685d5f11838f 294 /* I/O operation functions ****************************************************/
mbed_official 235:685d5f11838f 295 HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel);
mbed_official 235:685d5f11838f 296 HAL_StatusTypeDef HAL_DAC_Stop(DAC_HandleTypeDef* hdac, uint32_t Channel);
mbed_official 235:685d5f11838f 297 HAL_StatusTypeDef HAL_DAC_Start_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t* pData, uint32_t Length, uint32_t Alignment);
mbed_official 235:685d5f11838f 298 HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel);
mbed_official 235:685d5f11838f 299 uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef* hdac, uint32_t Channel);
mbed_official 235:685d5f11838f 300
mbed_official 235:685d5f11838f 301 /* Peripheral Control functions ***********************************************/
mbed_official 235:685d5f11838f 302 HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel);
mbed_official 235:685d5f11838f 303 HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Alignment, uint32_t Data);
mbed_official 235:685d5f11838f 304
mbed_official 235:685d5f11838f 305 /* Peripheral State functions *************************************************/
mbed_official 235:685d5f11838f 306 HAL_DAC_StateTypeDef HAL_DAC_GetState(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 307 void HAL_DAC_IRQHandler(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 308 uint32_t HAL_DAC_GetError(DAC_HandleTypeDef *hdac);
mbed_official 235:685d5f11838f 309
mbed_official 235:685d5f11838f 310 void HAL_DAC_ConvCpltCallbackCh1(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 311 void HAL_DAC_ConvHalfCpltCallbackCh1(DAC_HandleTypeDef* hdac);
mbed_official 235:685d5f11838f 312 void HAL_DAC_ErrorCallbackCh1(DAC_HandleTypeDef *hdac);
mbed_official 235:685d5f11838f 313 void HAL_DAC_DMAUnderrunCallbackCh1(DAC_HandleTypeDef *hdac);
mbed_official 235:685d5f11838f 314
mbed_official 235:685d5f11838f 315 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */
mbed_official 235:685d5f11838f 316
mbed_official 235:685d5f11838f 317 /**
mbed_official 235:685d5f11838f 318 * @}
mbed_official 235:685d5f11838f 319 */
mbed_official 235:685d5f11838f 320
mbed_official 235:685d5f11838f 321 /**
mbed_official 235:685d5f11838f 322 * @}
mbed_official 235:685d5f11838f 323 */
mbed_official 235:685d5f11838f 324
mbed_official 235:685d5f11838f 325 #ifdef __cplusplus
mbed_official 235:685d5f11838f 326 }
mbed_official 235:685d5f11838f 327 #endif
mbed_official 235:685d5f11838f 328
mbed_official 235:685d5f11838f 329 #endif /*__STM32F4xx_HAL_DAC_H */
mbed_official 235:685d5f11838f 330
mbed_official 235:685d5f11838f 331 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/