mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Wed Sep 30 17:00:09 2015 +0100
Revision:
636:a11c0372f0ba
Parent:
490:119543c9f674
Synchronized with git revision d29c98dae61be0946ddf3a3c641c7726056f9452

Full URL: https://github.com/mbedmicro/mbed/commit/d29c98dae61be0946ddf3a3c641c7726056f9452/

Added support for SAMW25

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 376:cb4d9db17537 1 /**
mbed_official 376:cb4d9db17537 2 ******************************************************************************
mbed_official 376:cb4d9db17537 3 * @file stm32l0xx_hal_dac.c
mbed_official 376:cb4d9db17537 4 * @author MCD Application Team
mbed_official 490:119543c9f674 5 * @version V1.2.0
mbed_official 490:119543c9f674 6 * @date 06-February-2015
mbed_official 376:cb4d9db17537 7 * @brief DAC HAL module driver.
mbed_official 376:cb4d9db17537 8 * This file provides firmware functions to manage the following
mbed_official 376:cb4d9db17537 9 * functionalities of the Digital to Analog Converter (DAC) peripheral:
mbed_official 490:119543c9f674 10 * + Initialization and de-initialization functions
mbed_official 490:119543c9f674 11 * + IO operation functions
mbed_official 490:119543c9f674 12 * + Peripheral Control functions
mbed_official 490:119543c9f674 13 * + Peripheral State and Errors functions
mbed_official 376:cb4d9db17537 14 *
mbed_official 376:cb4d9db17537 15 *
mbed_official 376:cb4d9db17537 16 @verbatim
mbed_official 376:cb4d9db17537 17 ==============================================================================
mbed_official 376:cb4d9db17537 18 ##### DAC Peripheral features #####
mbed_official 376:cb4d9db17537 19 ==============================================================================
mbed_official 376:cb4d9db17537 20 [..]
mbed_official 376:cb4d9db17537 21 *** DAC Channels ***
mbed_official 376:cb4d9db17537 22 ====================
mbed_official 376:cb4d9db17537 23 [..]
mbed_official 490:119543c9f674 24 STM32F0 devices integrates no, one or two 12-bit Digital Analog Converters.
mbed_official 490:119543c9f674 25 STM32L05x & STM32L06x devices have one converter (channel1)
mbed_official 490:119543c9f674 26 STM32L07x & STM32L08x devices have two converters (i.e. channel1 & channel2)
mbed_official 490:119543c9f674 27
mbed_official 490:119543c9f674 28 When 2 converters are present (i.e. channel1 & channel2) they
mbed_official 490:119543c9f674 29 can be used independently or simultaneously (dual mode):
mbed_official 376:cb4d9db17537 30 (#) DAC channel1 with DAC_OUT1 (PA4) as output
mbed_official 490:119543c9f674 31 (#) DAC channel2 with DAC_OUT2 (PA5) as output (STM32L07x/STM32L08x only)
mbed_official 490:119543c9f674 32 (#) Channel1 & channel2 can be used independently or simultaneously in dual mode (STM32L07x/STM32L08x only)
mbed_official 376:cb4d9db17537 33
mbed_official 376:cb4d9db17537 34 *** DAC Triggers ***
mbed_official 376:cb4d9db17537 35 ====================
mbed_official 376:cb4d9db17537 36 [..]
mbed_official 376:cb4d9db17537 37 Digital to Analog conversion can be non-triggered using DAC_Trigger_None
mbed_official 376:cb4d9db17537 38 and DAC_OUT1/DAC_OUT2 is available once writing to DHRx register.
mbed_official 376:cb4d9db17537 39 [..]
mbed_official 376:cb4d9db17537 40 Digital to Analog conversion can be triggered by:
mbed_official 376:cb4d9db17537 41 (#) External event: EXTI Line 9 (any GPIOx_Pin9) using DAC_Trigger_Ext_IT9.
mbed_official 376:cb4d9db17537 42 The used pin (GPIOx_Pin9) must be configured in input mode.
mbed_official 376:cb4d9db17537 43
mbed_official 490:119543c9f674 44 (#) Timers TRGO:
mbed_official 490:119543c9f674 45 STM32L05x/STM32L06x : TIM2, TIM6 and TIM21
mbed_official 490:119543c9f674 46 STM32L07x/STM32L08x : TIM2, TIM3, TIM6, TIM7 and TIM21
mbed_official 376:cb4d9db17537 47 (DAC_Trigger_T2_TRGO, DAC_Trigger_T6_TRGO...)
mbed_official 376:cb4d9db17537 48
mbed_official 376:cb4d9db17537 49 (#) Software using DAC_Trigger_Software
mbed_official 376:cb4d9db17537 50
mbed_official 376:cb4d9db17537 51 *** DAC Buffer mode feature ***
mbed_official 376:cb4d9db17537 52 ===============================
mbed_official 376:cb4d9db17537 53 [..]
mbed_official 376:cb4d9db17537 54 Each DAC channel integrates an output buffer that can be used to
mbed_official 376:cb4d9db17537 55 reduce the output impedance, and to drive external loads directly
mbed_official 376:cb4d9db17537 56 without having to add an external operational amplifier.
mbed_official 376:cb4d9db17537 57 To enable, the output buffer use
mbed_official 376:cb4d9db17537 58 sConfig.DAC_OutputBuffer = DAC_OutputBuffer_Enable;
mbed_official 376:cb4d9db17537 59 [..]
mbed_official 376:cb4d9db17537 60 (@) Refer to the device datasheet for more details about output
mbed_official 376:cb4d9db17537 61 impedance value with and without output buffer.
mbed_official 376:cb4d9db17537 62
mbed_official 376:cb4d9db17537 63 *** DAC wave generation feature ***
mbed_official 376:cb4d9db17537 64 ===================================
mbed_official 376:cb4d9db17537 65 [..]
mbed_official 376:cb4d9db17537 66 Both DAC channels can be used to generate
mbed_official 490:119543c9f674 67 (#) Noise wave using HAL_DACEx_NoiseWaveGenerate()
mbed_official 490:119543c9f674 68 (#) Triangle wave using HAL_DACEx_TriangleWaveGenerate()
mbed_official 376:cb4d9db17537 69
mbed_official 376:cb4d9db17537 70 *** DAC data format ***
mbed_official 376:cb4d9db17537 71 =======================
mbed_official 376:cb4d9db17537 72 [..]
mbed_official 376:cb4d9db17537 73 The DAC data format can be:
mbed_official 376:cb4d9db17537 74 (#) 8-bit right alignment using DAC_ALIGN_8B_R
mbed_official 376:cb4d9db17537 75 (#) 12-bit left alignment using DAC_ALIGN_12B_L
mbed_official 376:cb4d9db17537 76 (#) 12-bit right alignment using DAC_ALIGN_12B_R
mbed_official 376:cb4d9db17537 77
mbed_official 376:cb4d9db17537 78 *** DAC data value to voltage correspondence ***
mbed_official 376:cb4d9db17537 79 ================================================
mbed_official 376:cb4d9db17537 80 [..]
mbed_official 376:cb4d9db17537 81 The analog output voltage on each DAC channel pin is determined
mbed_official 376:cb4d9db17537 82 by the following equation:
mbed_official 376:cb4d9db17537 83 DAC_OUTx = VREF+ * DOR / 4095
mbed_official 376:cb4d9db17537 84 with DOR is the Data Output Register
mbed_official 376:cb4d9db17537 85 VEF+ is the input voltage reference (refer to the device datasheet)
mbed_official 376:cb4d9db17537 86 e.g. To set DAC_OUT1 to 0.7V, use
mbed_official 376:cb4d9db17537 87 Assuming that VREF+ = 3.3V, DAC_OUT1 = (3.3 * 868) / 4095 = 0.7V
mbed_official 376:cb4d9db17537 88
mbed_official 376:cb4d9db17537 89 *** DMA requests ***
mbed_official 376:cb4d9db17537 90 =====================
mbed_official 376:cb4d9db17537 91 [..]
mbed_official 376:cb4d9db17537 92 A DMA1 request can be generated when an external trigger (but not
mbed_official 376:cb4d9db17537 93 a software trigger) occurs if DMA1 requests are enabled using
mbed_official 376:cb4d9db17537 94 HAL_DAC_Start_DMA()
mbed_official 376:cb4d9db17537 95 [..]
mbed_official 376:cb4d9db17537 96 DMA1 requests are mapped as following:
mbed_official 376:cb4d9db17537 97 (#) DAC channel1 : mapped on DMA1 Request9 channel2 which must be
mbed_official 376:cb4d9db17537 98 already configured
mbed_official 490:119543c9f674 99 (#) DAC channel2 : mapped on DMA1 Request15 channel4 which must be
mbed_official 490:119543c9f674 100 already configured (STM32L07x/STM32L08x only)
mbed_official 490:119543c9f674 101
mbed_official 490:119543c9f674 102 -@- For Dual mode (STM32L07x/STM32L08x only) and specific signal Triangle and noise generation please
mbed_official 490:119543c9f674 103 refer to Extension Features Driver description
mbed_official 376:cb4d9db17537 104
mbed_official 376:cb4d9db17537 105
mbed_official 376:cb4d9db17537 106 ##### How to use this driver #####
mbed_official 376:cb4d9db17537 107 ==============================================================================
mbed_official 376:cb4d9db17537 108 [..]
mbed_official 376:cb4d9db17537 109 (+) DAC APB clock must be enabled to get write access to DAC
mbed_official 376:cb4d9db17537 110 registers using HAL_DAC_Init()
mbed_official 490:119543c9f674 111 (+) Configure DAC_OUT1: PA4 in analog mode.
mbed_official 490:119543c9f674 112 (+) Configure DAC_OUT2: PA5 in analog mode (STM32L07x/STM32L08x only).
mbed_official 376:cb4d9db17537 113 (+) Configure the DAC channel using HAL_DAC_ConfigChannel() function.
mbed_official 376:cb4d9db17537 114 (+) Enable the DAC channel using HAL_DAC_Start() or HAL_DAC_Start_DMA functions
mbed_official 376:cb4d9db17537 115
mbed_official 490:119543c9f674 116 *** Polling mode IO operation ***
mbed_official 490:119543c9f674 117 =================================
mbed_official 490:119543c9f674 118 [..]
mbed_official 490:119543c9f674 119 (+) Start the DAC peripheral using HAL_DAC_Start()
mbed_official 490:119543c9f674 120 (+) To read the DAC last data output value value, use the HAL_DAC_GetValue() function.
mbed_official 490:119543c9f674 121 (+) Stop the DAC peripheral using HAL_DAC_Stop()
mbed_official 490:119543c9f674 122
mbed_official 490:119543c9f674 123 *** DMA mode IO operation ***
mbed_official 490:119543c9f674 124 ==============================
mbed_official 490:119543c9f674 125 [..]
mbed_official 490:119543c9f674 126 (+) Start the DAC peripheral using HAL_DAC_Start_DMA(), at this stage the user specify the length
mbed_official 490:119543c9f674 127 of data to be transferred at each end of conversion
mbed_official 490:119543c9f674 128 (+) At the middle of data transfer HAL_DAC_ConvHalfCpltCallbackCh1()or HAL_DAC_ConvHalfCpltCallbackCh2()
mbed_official 490:119543c9f674 129 function is executed and user can add his own code by customization of function pointer
mbed_official 490:119543c9f674 130 HAL_DAC_ConvHalfCpltCallbackCh1 or HAL_DAC_ConvHalfCpltCallbackCh2
mbed_official 490:119543c9f674 131 (+) At The end of data transfer HAL_DAC_ConvCpltCallbackCh1()or HAL_DAC_ConvCpltCallbackCh2()
mbed_official 490:119543c9f674 132 function is executed and user can add his own code by customization of function pointer
mbed_official 490:119543c9f674 133 HAL_DAC_ConvCpltCallbackCh1 or HAL_DAC_ConvCpltCallbackCh2
mbed_official 490:119543c9f674 134 (+) In case of transfer Error, HAL_DAC_ErrorCallbackCh1() function is executed and user can
mbed_official 490:119543c9f674 135 add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1
mbed_official 490:119543c9f674 136 (+) In case of DMA underrun, DAC interruption triggers and execute internal function HAL_DAC_IRQHandler.
mbed_official 490:119543c9f674 137 HAL_DAC_DMAUnderrunCallbackCh1()or HAL_DAC_DMAUnderrunCallbackCh2()
mbed_official 490:119543c9f674 138 function is executed and user can add his own code by customization of function pointer
mbed_official 490:119543c9f674 139 HAL_DAC_DMAUnderrunCallbackCh1 or HAL_DAC_DMAUnderrunCallbackCh2
mbed_official 490:119543c9f674 140 add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1
mbed_official 490:119543c9f674 141 (+) Stop the DAC peripheral using HAL_DAC_Stop_DMA()
mbed_official 490:119543c9f674 142
mbed_official 490:119543c9f674 143 *** DAC HAL driver macros list ***
mbed_official 490:119543c9f674 144 =============================================
mbed_official 490:119543c9f674 145 [..]
mbed_official 490:119543c9f674 146 Below the list of most used macros in DAC HAL driver.
mbed_official 490:119543c9f674 147
mbed_official 490:119543c9f674 148 (+) __HAL_DAC_ENABLE : Enable the DAC peripheral
mbed_official 490:119543c9f674 149 (+) __HAL_DAC_DISABLE : Disable the DAC peripheral
mbed_official 490:119543c9f674 150 (+) __HAL_DAC_CLEAR_FLAG: Clear the DAC's pending flags
mbed_official 490:119543c9f674 151 (+) __HAL_DAC_GET_FLAG: Get the selected DAC's flag status
mbed_official 490:119543c9f674 152
mbed_official 490:119543c9f674 153 [..]
mbed_official 490:119543c9f674 154 (@) You can refer to the DAC HAL driver header file for more useful macros
mbed_official 490:119543c9f674 155
mbed_official 376:cb4d9db17537 156 @endverbatim
mbed_official 376:cb4d9db17537 157 ******************************************************************************
mbed_official 376:cb4d9db17537 158 * @attention
mbed_official 376:cb4d9db17537 159 *
mbed_official 490:119543c9f674 160 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 376:cb4d9db17537 161 *
mbed_official 376:cb4d9db17537 162 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 376:cb4d9db17537 163 * are permitted provided that the following conditions are met:
mbed_official 376:cb4d9db17537 164 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 376:cb4d9db17537 165 * this list of conditions and the following disclaimer.
mbed_official 376:cb4d9db17537 166 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 376:cb4d9db17537 167 * this list of conditions and the following disclaimer in the documentation
mbed_official 376:cb4d9db17537 168 * and/or other materials provided with the distribution.
mbed_official 376:cb4d9db17537 169 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 376:cb4d9db17537 170 * may be used to endorse or promote products derived from this software
mbed_official 376:cb4d9db17537 171 * without specific prior written permission.
mbed_official 376:cb4d9db17537 172 *
mbed_official 376:cb4d9db17537 173 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 376:cb4d9db17537 174 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 376:cb4d9db17537 175 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 376:cb4d9db17537 176 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 376:cb4d9db17537 177 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 376:cb4d9db17537 178 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 376:cb4d9db17537 179 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 376:cb4d9db17537 180 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 376:cb4d9db17537 181 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 376:cb4d9db17537 182 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 376:cb4d9db17537 183 *
mbed_official 376:cb4d9db17537 184 ******************************************************************************
mbed_official 376:cb4d9db17537 185 */
mbed_official 376:cb4d9db17537 186
mbed_official 376:cb4d9db17537 187
mbed_official 490:119543c9f674 188 #if !defined (STM32L031xx) && !defined (STM32L041xx) && !defined (STM32L051xx) && !defined (STM32L061xx) && !defined (STM32L071xx) && !defined (STM32L081xx)
mbed_official 376:cb4d9db17537 189 /* Includes ------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 190 #include "stm32l0xx_hal.h"
mbed_official 376:cb4d9db17537 191
mbed_official 490:119543c9f674 192 #ifdef HAL_DAC_MODULE_ENABLED
mbed_official 376:cb4d9db17537 193 /** @addtogroup STM32L0xx_HAL_Driver
mbed_official 376:cb4d9db17537 194 * @{
mbed_official 376:cb4d9db17537 195 */
mbed_official 376:cb4d9db17537 196
mbed_official 490:119543c9f674 197 /** @defgroup DAC DAC HAL module driver
mbed_official 376:cb4d9db17537 198 * @brief DAC driver modules
mbed_official 376:cb4d9db17537 199 * @{
mbed_official 376:cb4d9db17537 200 */
mbed_official 376:cb4d9db17537 201
mbed_official 376:cb4d9db17537 202
mbed_official 376:cb4d9db17537 203 /* Private typedef -----------------------------------------------------------*/
mbed_official 376:cb4d9db17537 204 /* Private define ------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 205 /* Private macro -------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 206 /* Private variables ---------------------------------------------------------*/
mbed_official 376:cb4d9db17537 207 /* Private function prototypes -----------------------------------------------*/
mbed_official 376:cb4d9db17537 208
mbed_official 376:cb4d9db17537 209 /* Private functions ---------------------------------------------------------*/
mbed_official 376:cb4d9db17537 210
mbed_official 490:119543c9f674 211 /** @defgroup DAC_Exported_Functions DAC Exported Functions
mbed_official 376:cb4d9db17537 212 * @{
mbed_official 376:cb4d9db17537 213 */
mbed_official 376:cb4d9db17537 214
mbed_official 490:119543c9f674 215 /** @defgroup DAC_Exported_Functions_Group1 Initialization and de-initialization functions
mbed_official 376:cb4d9db17537 216 * @brief Initialization and Configuration functions
mbed_official 376:cb4d9db17537 217 *
mbed_official 376:cb4d9db17537 218 @verbatim
mbed_official 376:cb4d9db17537 219 ==============================================================================
mbed_official 376:cb4d9db17537 220 ##### Initialization and de-initialization functions #####
mbed_official 376:cb4d9db17537 221 ==============================================================================
mbed_official 376:cb4d9db17537 222 [..] This section provides functions allowing to:
mbed_official 376:cb4d9db17537 223 (+) Initialize and configure the DAC.
mbed_official 376:cb4d9db17537 224 (+) De-initialize the DAC.
mbed_official 376:cb4d9db17537 225
mbed_official 376:cb4d9db17537 226 @endverbatim
mbed_official 376:cb4d9db17537 227 * @{
mbed_official 376:cb4d9db17537 228 */
mbed_official 376:cb4d9db17537 229
mbed_official 376:cb4d9db17537 230 /**
mbed_official 376:cb4d9db17537 231 * @brief Initializes the DAC peripheral according to the specified parameters
mbed_official 376:cb4d9db17537 232 * in the DAC_InitStruct.
mbed_official 376:cb4d9db17537 233 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 234 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 235 * @retval HAL status
mbed_official 376:cb4d9db17537 236 */
mbed_official 376:cb4d9db17537 237 HAL_StatusTypeDef HAL_DAC_Init(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 238 {
mbed_official 376:cb4d9db17537 239 /* Check DAC handle */
mbed_official 490:119543c9f674 240 if(hdac == NULL)
mbed_official 376:cb4d9db17537 241 {
mbed_official 376:cb4d9db17537 242 return HAL_ERROR;
mbed_official 376:cb4d9db17537 243 }
mbed_official 376:cb4d9db17537 244 /* Check the parameters */
mbed_official 376:cb4d9db17537 245 assert_param(IS_DAC_ALL_INSTANCE(hdac->Instance));
mbed_official 376:cb4d9db17537 246
mbed_official 376:cb4d9db17537 247 if(hdac->State == HAL_DAC_STATE_RESET)
mbed_official 376:cb4d9db17537 248 {
mbed_official 376:cb4d9db17537 249 /* Init the low level hardware */
mbed_official 376:cb4d9db17537 250 HAL_DAC_MspInit(hdac);
mbed_official 376:cb4d9db17537 251 }
mbed_official 376:cb4d9db17537 252
mbed_official 376:cb4d9db17537 253 /* Initialize the DAC state*/
mbed_official 376:cb4d9db17537 254 hdac->State = HAL_DAC_STATE_BUSY;
mbed_official 376:cb4d9db17537 255
mbed_official 376:cb4d9db17537 256 /* Set DAC error code to none */
mbed_official 376:cb4d9db17537 257 hdac->ErrorCode = HAL_DAC_ERROR_NONE;
mbed_official 376:cb4d9db17537 258
mbed_official 376:cb4d9db17537 259 /* Initialize the DAC state*/
mbed_official 376:cb4d9db17537 260 hdac->State = HAL_DAC_STATE_READY;
mbed_official 376:cb4d9db17537 261
mbed_official 376:cb4d9db17537 262 /* Return function status */
mbed_official 376:cb4d9db17537 263 return HAL_OK;
mbed_official 376:cb4d9db17537 264 }
mbed_official 376:cb4d9db17537 265
mbed_official 376:cb4d9db17537 266 /**
mbed_official 376:cb4d9db17537 267 * @brief Deinitializes the DAC peripheral registers to their default reset values.
mbed_official 376:cb4d9db17537 268 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 269 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 270 * @retval HAL status
mbed_official 376:cb4d9db17537 271 */
mbed_official 376:cb4d9db17537 272 HAL_StatusTypeDef HAL_DAC_DeInit(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 273 {
mbed_official 376:cb4d9db17537 274 /* Check DAC handle */
mbed_official 490:119543c9f674 275 if(hdac == NULL)
mbed_official 376:cb4d9db17537 276 {
mbed_official 376:cb4d9db17537 277 return HAL_ERROR;
mbed_official 376:cb4d9db17537 278 }
mbed_official 376:cb4d9db17537 279
mbed_official 376:cb4d9db17537 280 /* Check the parameters */
mbed_official 376:cb4d9db17537 281 assert_param(IS_DAC_ALL_INSTANCE(hdac->Instance));
mbed_official 376:cb4d9db17537 282
mbed_official 376:cb4d9db17537 283 /* Change DAC state */
mbed_official 376:cb4d9db17537 284 hdac->State = HAL_DAC_STATE_BUSY;
mbed_official 376:cb4d9db17537 285
mbed_official 376:cb4d9db17537 286 /* DeInit the low level hardware */
mbed_official 376:cb4d9db17537 287 HAL_DAC_MspDeInit(hdac);
mbed_official 376:cb4d9db17537 288
mbed_official 376:cb4d9db17537 289 /* Set DAC error code to none */
mbed_official 376:cb4d9db17537 290 hdac->ErrorCode = HAL_DAC_ERROR_NONE;
mbed_official 376:cb4d9db17537 291
mbed_official 376:cb4d9db17537 292 /* Change DAC state */
mbed_official 376:cb4d9db17537 293 hdac->State = HAL_DAC_STATE_RESET;
mbed_official 376:cb4d9db17537 294
mbed_official 376:cb4d9db17537 295 /* Release Lock */
mbed_official 376:cb4d9db17537 296 __HAL_UNLOCK(hdac);
mbed_official 376:cb4d9db17537 297
mbed_official 376:cb4d9db17537 298 /* Return function status */
mbed_official 376:cb4d9db17537 299 return HAL_OK;
mbed_official 376:cb4d9db17537 300 }
mbed_official 376:cb4d9db17537 301
mbed_official 376:cb4d9db17537 302 /**
mbed_official 376:cb4d9db17537 303 * @brief Initializes the DAC MSP.
mbed_official 376:cb4d9db17537 304 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 305 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 306 * @retval None
mbed_official 376:cb4d9db17537 307 */
mbed_official 376:cb4d9db17537 308 __weak void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 309 {
mbed_official 376:cb4d9db17537 310 /* NOTE : This function Should not be modified, when the callback is needed,
mbed_official 376:cb4d9db17537 311 the HAL_DAC_MspInit could be implemented in the user file
mbed_official 376:cb4d9db17537 312 */
mbed_official 376:cb4d9db17537 313 }
mbed_official 376:cb4d9db17537 314
mbed_official 376:cb4d9db17537 315 /**
mbed_official 376:cb4d9db17537 316 * @brief DeInitializes the DAC MSP.
mbed_official 376:cb4d9db17537 317 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 318 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 319 * @retval None
mbed_official 376:cb4d9db17537 320 */
mbed_official 376:cb4d9db17537 321 __weak void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 322 {
mbed_official 376:cb4d9db17537 323 /* NOTE : This function Should not be modified, when the callback is needed,
mbed_official 376:cb4d9db17537 324 the HAL_DAC_MspDeInit could be implemented in the user file
mbed_official 376:cb4d9db17537 325 */
mbed_official 376:cb4d9db17537 326 }
mbed_official 376:cb4d9db17537 327
mbed_official 376:cb4d9db17537 328 /**
mbed_official 376:cb4d9db17537 329 * @}
mbed_official 376:cb4d9db17537 330 */
mbed_official 376:cb4d9db17537 331
mbed_official 490:119543c9f674 332 /** @defgroup DAC_Exported_Functions_Group2 IO operation functions
mbed_official 490:119543c9f674 333 * @brief IO operation functions
mbed_official 376:cb4d9db17537 334 *
mbed_official 376:cb4d9db17537 335 @verbatim
mbed_official 376:cb4d9db17537 336 ==============================================================================
mbed_official 376:cb4d9db17537 337 ##### IO operation functions #####
mbed_official 376:cb4d9db17537 338 ==============================================================================
mbed_official 376:cb4d9db17537 339 [..] This section provides functions allowing to:
mbed_official 376:cb4d9db17537 340 (+) Start conversion.
mbed_official 376:cb4d9db17537 341 (+) Stop conversion.
mbed_official 376:cb4d9db17537 342 (+) Start conversion and enable DMA transfer.
mbed_official 376:cb4d9db17537 343 (+) Stop conversion and disable DMA transfer.
mbed_official 376:cb4d9db17537 344 (+) Get result of conversion.
mbed_official 490:119543c9f674 345 (+) Get result of dual mode conversion (STM32L07xx/STM32L08xx only)
mbed_official 376:cb4d9db17537 346
mbed_official 376:cb4d9db17537 347 @endverbatim
mbed_official 376:cb4d9db17537 348 * @{
mbed_official 376:cb4d9db17537 349 */
mbed_official 376:cb4d9db17537 350
mbed_official 376:cb4d9db17537 351 /**
mbed_official 376:cb4d9db17537 352 * @brief Enables DAC and starts conversion of channel.
mbed_official 376:cb4d9db17537 353 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 354 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 355 * @param Channel: The selected DAC channel.
mbed_official 376:cb4d9db17537 356 * This parameter can be one of the following values:
mbed_official 376:cb4d9db17537 357 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 490:119543c9f674 358 * @arg DAC_CHANNEL_2: DAC Channel2 selected
mbed_official 376:cb4d9db17537 359 * @retval HAL status
mbed_official 376:cb4d9db17537 360 */
mbed_official 490:119543c9f674 361 __weak HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel)
mbed_official 376:cb4d9db17537 362 {
mbed_official 490:119543c9f674 363 /* Note : This function is defined into this file for library reference. */
mbed_official 490:119543c9f674 364 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 490:119543c9f674 365
mbed_official 376:cb4d9db17537 366 /* Return function status */
mbed_official 376:cb4d9db17537 367 return HAL_OK;
mbed_official 376:cb4d9db17537 368 }
mbed_official 376:cb4d9db17537 369
mbed_official 376:cb4d9db17537 370 /**
mbed_official 376:cb4d9db17537 371 * @brief Disables DAC and stop conversion of channel.
mbed_official 376:cb4d9db17537 372 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 373 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 374 * @param Channel: The selected DAC channel.
mbed_official 376:cb4d9db17537 375 * This parameter can be one of the following values:
mbed_official 376:cb4d9db17537 376 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 490:119543c9f674 377 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 376:cb4d9db17537 378 * @retval HAL status
mbed_official 376:cb4d9db17537 379 */
mbed_official 490:119543c9f674 380 HAL_StatusTypeDef HAL_DAC_Stop(DAC_HandleTypeDef* hdac, uint32_t Channel)
mbed_official 376:cb4d9db17537 381 {
mbed_official 376:cb4d9db17537 382 /* Check the parameters */
mbed_official 490:119543c9f674 383 assert_param(IS_DAC_CHANNEL(Channel));
mbed_official 376:cb4d9db17537 384
mbed_official 376:cb4d9db17537 385 /* Disable the Peripheral */
mbed_official 490:119543c9f674 386 __HAL_DAC_DISABLE(hdac, Channel);
mbed_official 376:cb4d9db17537 387
mbed_official 376:cb4d9db17537 388 /* Change DAC state */
mbed_official 376:cb4d9db17537 389 hdac->State = HAL_DAC_STATE_READY;
mbed_official 376:cb4d9db17537 390
mbed_official 376:cb4d9db17537 391 /* Return function status */
mbed_official 376:cb4d9db17537 392 return HAL_OK;
mbed_official 376:cb4d9db17537 393 }
mbed_official 376:cb4d9db17537 394
mbed_official 376:cb4d9db17537 395 /**
mbed_official 376:cb4d9db17537 396 * @brief Enables DAC and starts conversion of channel using DMA.
mbed_official 376:cb4d9db17537 397 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 398 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 399 * @param Channel: The selected DAC channel.
mbed_official 376:cb4d9db17537 400 * This parameter can be one of the following values:
mbed_official 376:cb4d9db17537 401 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 490:119543c9f674 402 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 376:cb4d9db17537 403 * @param pData: The destination peripheral Buffer address.
mbed_official 376:cb4d9db17537 404 * @param Length: The length of data to be transferred from memory to DAC peripheral
mbed_official 490:119543c9f674 405 * @param Alignment: Specifies the data alignment for DAC channel.
mbed_official 376:cb4d9db17537 406 * This parameter can be one of the following values:
mbed_official 376:cb4d9db17537 407 * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected
mbed_official 376:cb4d9db17537 408 * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected
mbed_official 376:cb4d9db17537 409 * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected
mbed_official 376:cb4d9db17537 410 * @retval HAL status
mbed_official 376:cb4d9db17537 411 */
mbed_official 490:119543c9f674 412 __weak HAL_StatusTypeDef HAL_DAC_Start_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t* pData, uint32_t Length, uint32_t Alignment)
mbed_official 376:cb4d9db17537 413 {
mbed_official 490:119543c9f674 414 /* Note : This function is defined into this file for library reference. */
mbed_official 490:119543c9f674 415 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 376:cb4d9db17537 416
mbed_official 376:cb4d9db17537 417 /* Return function status */
mbed_official 376:cb4d9db17537 418 return HAL_OK;
mbed_official 376:cb4d9db17537 419 }
mbed_official 376:cb4d9db17537 420
mbed_official 376:cb4d9db17537 421 /**
mbed_official 490:119543c9f674 422 * @brief Disables DAC and stop conversion of channel.
mbed_official 376:cb4d9db17537 423 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 424 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 425 * @param Channel: The selected DAC channel.
mbed_official 376:cb4d9db17537 426 * This parameter can be one of the following values:
mbed_official 376:cb4d9db17537 427 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 490:119543c9f674 428 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 376:cb4d9db17537 429 * @retval HAL status
mbed_official 376:cb4d9db17537 430 */
mbed_official 490:119543c9f674 431 __weak HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel)
mbed_official 376:cb4d9db17537 432 {
mbed_official 490:119543c9f674 433 /* Note : This function is defined into this file for library reference. */
mbed_official 490:119543c9f674 434 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 376:cb4d9db17537 435
mbed_official 376:cb4d9db17537 436 /* Return function status */
mbed_official 376:cb4d9db17537 437 return HAL_OK;
mbed_official 376:cb4d9db17537 438 }
mbed_official 376:cb4d9db17537 439
mbed_official 376:cb4d9db17537 440 /**
mbed_official 376:cb4d9db17537 441 * @brief Returns the last data output value of the selected DAC channel.
mbed_official 376:cb4d9db17537 442 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 443 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 444 * @param Channel: The selected DAC channel.
mbed_official 376:cb4d9db17537 445 * This parameter can be one of the following values:
mbed_official 376:cb4d9db17537 446 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 490:119543c9f674 447 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 490:119543c9f674 448 * @retval The selected DAC channel data output value.
mbed_official 376:cb4d9db17537 449 */
mbed_official 490:119543c9f674 450 __weak uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef* hdac, uint32_t Channel)
mbed_official 376:cb4d9db17537 451 {
mbed_official 490:119543c9f674 452 /* Note : This function is defined into this file for library reference. */
mbed_official 490:119543c9f674 453 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 376:cb4d9db17537 454
mbed_official 376:cb4d9db17537 455 /* Return function status */
mbed_official 490:119543c9f674 456 return 0;
mbed_official 376:cb4d9db17537 457 }
mbed_official 376:cb4d9db17537 458
mbed_official 376:cb4d9db17537 459 /**
mbed_official 376:cb4d9db17537 460 * @brief Handles DAC interrupt request
mbed_official 376:cb4d9db17537 461 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 462 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 463 * @retval None
mbed_official 376:cb4d9db17537 464 */
mbed_official 490:119543c9f674 465 __weak void HAL_DAC_IRQHandler(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 466 {
mbed_official 490:119543c9f674 467 /* Note : This function is defined into this file for library reference. */
mbed_official 490:119543c9f674 468 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 376:cb4d9db17537 469
mbed_official 376:cb4d9db17537 470 }
mbed_official 376:cb4d9db17537 471
mbed_official 376:cb4d9db17537 472 /**
mbed_official 376:cb4d9db17537 473 * @brief Conversion complete callback in non blocking mode for Channel1
mbed_official 376:cb4d9db17537 474 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 475 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 476 * @retval None
mbed_official 376:cb4d9db17537 477 */
mbed_official 376:cb4d9db17537 478 __weak void HAL_DAC_ConvCpltCallbackCh1(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 479 {
mbed_official 376:cb4d9db17537 480 /* NOTE : This function Should not be modified, when the callback is needed,
mbed_official 490:119543c9f674 481 the HAL_DAC_ConvCpltCallbackCh1 could be implemented in the user file
mbed_official 376:cb4d9db17537 482 */
mbed_official 376:cb4d9db17537 483 }
mbed_official 376:cb4d9db17537 484
mbed_official 376:cb4d9db17537 485 /**
mbed_official 376:cb4d9db17537 486 * @brief Conversion half DMA transfer callback in non blocking mode for Channel1
mbed_official 376:cb4d9db17537 487 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 488 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 489 * @retval None
mbed_official 376:cb4d9db17537 490 */
mbed_official 376:cb4d9db17537 491 __weak void HAL_DAC_ConvHalfCpltCallbackCh1(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 492 {
mbed_official 376:cb4d9db17537 493 /* NOTE : This function Should not be modified, when the callback is needed,
mbed_official 376:cb4d9db17537 494 the HAL_DAC_ConvHalfCpltCallbackCh1 could be implemented in the user file
mbed_official 376:cb4d9db17537 495 */
mbed_official 376:cb4d9db17537 496 }
mbed_official 376:cb4d9db17537 497
mbed_official 376:cb4d9db17537 498 /**
mbed_official 376:cb4d9db17537 499 * @brief Error DAC callback for Channel1.
mbed_official 376:cb4d9db17537 500 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 501 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 502 * @retval None
mbed_official 376:cb4d9db17537 503 */
mbed_official 376:cb4d9db17537 504 __weak void HAL_DAC_ErrorCallbackCh1(DAC_HandleTypeDef *hdac)
mbed_official 376:cb4d9db17537 505 {
mbed_official 376:cb4d9db17537 506 /* NOTE : This function Should not be modified, when the callback is needed,
mbed_official 490:119543c9f674 507 the HAL_DAC_ErrorCallbackCh1 could be implemented in the user file
mbed_official 376:cb4d9db17537 508 */
mbed_official 376:cb4d9db17537 509 }
mbed_official 376:cb4d9db17537 510
mbed_official 376:cb4d9db17537 511 /**
mbed_official 376:cb4d9db17537 512 * @brief DMA underrun DAC callback for channel1.
mbed_official 376:cb4d9db17537 513 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 376:cb4d9db17537 514 * the configuration information for the specified DAC.
mbed_official 376:cb4d9db17537 515 * @retval None
mbed_official 376:cb4d9db17537 516 */
mbed_official 376:cb4d9db17537 517 __weak void HAL_DAC_DMAUnderrunCallbackCh1(DAC_HandleTypeDef *hdac)
mbed_official 376:cb4d9db17537 518 {
mbed_official 376:cb4d9db17537 519 /* NOTE : This function Should not be modified, when the callback is needed,
mbed_official 376:cb4d9db17537 520 the HAL_DAC_DMAUnderrunCallbackCh1 could be implemented in the user file
mbed_official 376:cb4d9db17537 521 */
mbed_official 376:cb4d9db17537 522 }
mbed_official 376:cb4d9db17537 523
mbed_official 376:cb4d9db17537 524 /**
mbed_official 490:119543c9f674 525 * @}
mbed_official 376:cb4d9db17537 526 */
mbed_official 490:119543c9f674 527
mbed_official 490:119543c9f674 528 /** @defgroup DAC_Exported_Functions_Group3 Peripheral Control functions
mbed_official 490:119543c9f674 529 * @brief Peripheral Control functions
mbed_official 490:119543c9f674 530 *
mbed_official 490:119543c9f674 531 @verbatim
mbed_official 490:119543c9f674 532 ==============================================================================
mbed_official 490:119543c9f674 533 ##### Peripheral Control functions #####
mbed_official 490:119543c9f674 534 ==============================================================================
mbed_official 490:119543c9f674 535 [..] This section provides functions allowing to:
mbed_official 490:119543c9f674 536 (+) Configure channels.
mbed_official 490:119543c9f674 537 (+) Set the specified data holding register value for DAC channel.
mbed_official 490:119543c9f674 538
mbed_official 490:119543c9f674 539 @endverbatim
mbed_official 490:119543c9f674 540 * @{
mbed_official 490:119543c9f674 541 */
mbed_official 490:119543c9f674 542
mbed_official 490:119543c9f674 543 /**
mbed_official 490:119543c9f674 544 * @brief Configures the selected DAC channel.
mbed_official 490:119543c9f674 545 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 490:119543c9f674 546 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 547 * @param sConfig: DAC configuration structure.
mbed_official 490:119543c9f674 548 * @param Channel: The selected DAC channel.
mbed_official 490:119543c9f674 549 * This parameter can be one of the following values:
mbed_official 490:119543c9f674 550 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 490:119543c9f674 551 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 490:119543c9f674 552 * @retval HAL status
mbed_official 490:119543c9f674 553 */
mbed_official 490:119543c9f674 554 HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel)
mbed_official 376:cb4d9db17537 555 {
mbed_official 490:119543c9f674 556 uint32_t tmpreg1 = 0, tmpreg2 = 0;
mbed_official 490:119543c9f674 557
mbed_official 490:119543c9f674 558 /* Check the DAC parameters */
mbed_official 490:119543c9f674 559 assert_param(IS_DAC_TRIGGER(sConfig->DAC_Trigger));
mbed_official 490:119543c9f674 560 assert_param(IS_DAC_OUTPUT_BUFFER_STATE(sConfig->DAC_OutputBuffer));
mbed_official 490:119543c9f674 561 assert_param(IS_DAC_CHANNEL(Channel));
mbed_official 490:119543c9f674 562
mbed_official 490:119543c9f674 563 /* Process locked */
mbed_official 490:119543c9f674 564 __HAL_LOCK(hdac);
mbed_official 490:119543c9f674 565
mbed_official 490:119543c9f674 566 /* Change DAC state */
mbed_official 490:119543c9f674 567 hdac->State = HAL_DAC_STATE_BUSY;
mbed_official 490:119543c9f674 568
mbed_official 490:119543c9f674 569 /* Get the DAC CR value */
mbed_official 490:119543c9f674 570 tmpreg1 = hdac->Instance->CR;
mbed_official 490:119543c9f674 571 /* Clear BOFFx, TENx, TSELx, WAVEx and MAMPx bits */
mbed_official 490:119543c9f674 572 tmpreg1 &= ~(((uint32_t)(DAC_CR_MAMP1 | DAC_CR_WAVE1 | DAC_CR_TSEL1 | DAC_CR_TEN1 | DAC_CR_BOFF1)) << Channel);
mbed_official 490:119543c9f674 573 /* Configure for the selected DAC channel: buffer output, trigger */
mbed_official 490:119543c9f674 574 /* Set TSELx and TENx bits according to DAC_Trigger value */
mbed_official 490:119543c9f674 575 /* Set BOFFx bit according to DAC_OutputBuffer value */
mbed_official 490:119543c9f674 576 tmpreg2 = (sConfig->DAC_Trigger | sConfig->DAC_OutputBuffer);
mbed_official 490:119543c9f674 577 /* Calculate CR register value depending on DAC_Channel */
mbed_official 490:119543c9f674 578 tmpreg1 |= tmpreg2 << Channel;
mbed_official 490:119543c9f674 579 /* Write to DAC CR */
mbed_official 490:119543c9f674 580 hdac->Instance->CR = tmpreg1;
mbed_official 490:119543c9f674 581 /* Disable wave generation */
mbed_official 490:119543c9f674 582 CLEAR_BIT(hdac->Instance->CR, (DAC_CR_WAVE1 << Channel));
mbed_official 490:119543c9f674 583 /* Change DAC state */
mbed_official 490:119543c9f674 584 hdac->State = HAL_DAC_STATE_READY;
mbed_official 490:119543c9f674 585
mbed_official 490:119543c9f674 586 /* Process unlocked */
mbed_official 490:119543c9f674 587 __HAL_UNLOCK(hdac);
mbed_official 490:119543c9f674 588
mbed_official 490:119543c9f674 589 /* Return function status */
mbed_official 490:119543c9f674 590 return HAL_OK;
mbed_official 376:cb4d9db17537 591 }
mbed_official 376:cb4d9db17537 592
mbed_official 376:cb4d9db17537 593 /**
mbed_official 490:119543c9f674 594 * @brief Set the specified data holding register value for DAC channel.
mbed_official 490:119543c9f674 595 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 490:119543c9f674 596 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 597 * @param Channel: The selected DAC channel.
mbed_official 490:119543c9f674 598 * This parameter can be one of the following values:
mbed_official 490:119543c9f674 599 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 490:119543c9f674 600 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 490:119543c9f674 601 * @param Alignment: Specifies the data alignment.
mbed_official 490:119543c9f674 602 * This parameter can be one of the following values:
mbed_official 490:119543c9f674 603 * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected
mbed_official 490:119543c9f674 604 * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected
mbed_official 490:119543c9f674 605 * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected
mbed_official 490:119543c9f674 606 * @param Data: Data to be loaded in the selected data holding register.
mbed_official 490:119543c9f674 607 * @retval HAL status
mbed_official 376:cb4d9db17537 608 */
mbed_official 490:119543c9f674 609 __weak HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Alignment, uint32_t Data)
mbed_official 376:cb4d9db17537 610 {
mbed_official 490:119543c9f674 611 /* Note : This function is defined into this file for library reference. */
mbed_official 490:119543c9f674 612 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 376:cb4d9db17537 613
mbed_official 490:119543c9f674 614 /* Return function status */
mbed_official 490:119543c9f674 615 return HAL_OK;
mbed_official 376:cb4d9db17537 616 }
mbed_official 376:cb4d9db17537 617
mbed_official 376:cb4d9db17537 618 /**
mbed_official 376:cb4d9db17537 619 * @}
mbed_official 376:cb4d9db17537 620 */
mbed_official 490:119543c9f674 621
mbed_official 490:119543c9f674 622 /** @defgroup DAC_Exported_Functions_Group4 Peripheral State and Errors functions
mbed_official 490:119543c9f674 623 * @brief Peripheral State and Errors functions
mbed_official 490:119543c9f674 624 *
mbed_official 490:119543c9f674 625 @verbatim
mbed_official 490:119543c9f674 626 ==============================================================================
mbed_official 490:119543c9f674 627 ##### Peripheral State and Errors functions #####
mbed_official 490:119543c9f674 628 ==============================================================================
mbed_official 490:119543c9f674 629 [..]
mbed_official 490:119543c9f674 630 This subsection provides functions allowing to
mbed_official 490:119543c9f674 631 (+) Check the DAC state.
mbed_official 490:119543c9f674 632 (+) Check the DAC Errors.
mbed_official 490:119543c9f674 633
mbed_official 490:119543c9f674 634 @endverbatim
mbed_official 490:119543c9f674 635 * @{
mbed_official 490:119543c9f674 636 */
mbed_official 490:119543c9f674 637
mbed_official 490:119543c9f674 638 /**
mbed_official 490:119543c9f674 639 * @brief return the DAC state
mbed_official 490:119543c9f674 640 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 490:119543c9f674 641 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 642 * @retval HAL state
mbed_official 490:119543c9f674 643 */
mbed_official 490:119543c9f674 644 HAL_DAC_StateTypeDef HAL_DAC_GetState(DAC_HandleTypeDef* hdac)
mbed_official 490:119543c9f674 645 {
mbed_official 490:119543c9f674 646 /* Return DAC state */
mbed_official 490:119543c9f674 647 return hdac->State;
mbed_official 490:119543c9f674 648 }
mbed_official 490:119543c9f674 649
mbed_official 490:119543c9f674 650
mbed_official 490:119543c9f674 651 /**
mbed_official 490:119543c9f674 652 * @brief Return the DAC error code
mbed_official 490:119543c9f674 653 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 490:119543c9f674 654 * the configuration information for the specified DAC.
mbed_official 490:119543c9f674 655 * @retval DAC Error Code
mbed_official 490:119543c9f674 656 */
mbed_official 490:119543c9f674 657 uint32_t HAL_DAC_GetError(DAC_HandleTypeDef *hdac)
mbed_official 490:119543c9f674 658 {
mbed_official 490:119543c9f674 659 return hdac->ErrorCode;
mbed_official 490:119543c9f674 660 }
mbed_official 376:cb4d9db17537 661
mbed_official 376:cb4d9db17537 662 /**
mbed_official 376:cb4d9db17537 663 * @}
mbed_official 376:cb4d9db17537 664 */
mbed_official 376:cb4d9db17537 665
mbed_official 376:cb4d9db17537 666 /**
mbed_official 376:cb4d9db17537 667 * @}
mbed_official 376:cb4d9db17537 668 */
mbed_official 376:cb4d9db17537 669
mbed_official 490:119543c9f674 670 /** @addtogroup DAC_Private_Functions
mbed_official 490:119543c9f674 671 * @{
mbed_official 490:119543c9f674 672 */
mbed_official 490:119543c9f674 673
mbed_official 490:119543c9f674 674
mbed_official 490:119543c9f674 675 /**
mbed_official 490:119543c9f674 676 * @}
mbed_official 490:119543c9f674 677 */
mbed_official 490:119543c9f674 678
mbed_official 490:119543c9f674 679 /**
mbed_official 490:119543c9f674 680 * @}
mbed_official 490:119543c9f674 681 */
mbed_official 490:119543c9f674 682
mbed_official 490:119543c9f674 683 /**
mbed_official 490:119543c9f674 684 * @}
mbed_official 490:119543c9f674 685 */
mbed_official 490:119543c9f674 686 #endif /* HAL_DAC_MODULE_ENABLED */
mbed_official 490:119543c9f674 687 #endif /* !STM32L031xx && !STM32L041xx && !STM32L051xx && !STM32L061xx&& !STM32L071xx&& !STM32L081xx*/
mbed_official 490:119543c9f674 688
mbed_official 376:cb4d9db17537 689 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
mbed_official 490:119543c9f674 690