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:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
489:119543c9f674
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

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

Initial version of drivers for SAMR21

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 489:119543c9f674 5 * @version V1.2.0
mbed_official 489: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 489:119543c9f674 10 * + Initialization and de-initialization functions
mbed_official 489:119543c9f674 11 * + IO operation functions
mbed_official 489:119543c9f674 12 * + Peripheral Control functions
mbed_official 489: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 489:119543c9f674 24 STM32F0 devices integrates no, one or two 12-bit Digital Analog Converters.
mbed_official 489:119543c9f674 25 STM32L05x & STM32L06x devices have one converter (channel1)
mbed_official 489:119543c9f674 26 STM32L07x & STM32L08x devices have two converters (i.e. channel1 & channel2)
mbed_official 489:119543c9f674 27
mbed_official 489:119543c9f674 28 When 2 converters are present (i.e. channel1 & channel2) they
mbed_official 489: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 489:119543c9f674 31 (#) DAC channel2 with DAC_OUT2 (PA5) as output (STM32L07x/STM32L08x only)
mbed_official 489: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 489:119543c9f674 44 (#) Timers TRGO:
mbed_official 489:119543c9f674 45 STM32L05x/STM32L06x : TIM2, TIM6 and TIM21
mbed_official 489: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 489:119543c9f674 67 (#) Noise wave using HAL_DACEx_NoiseWaveGenerate()
mbed_official 489: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 489:119543c9f674 99 (#) DAC channel2 : mapped on DMA1 Request15 channel4 which must be
mbed_official 489:119543c9f674 100 already configured (STM32L07x/STM32L08x only)
mbed_official 489:119543c9f674 101
mbed_official 489:119543c9f674 102 -@- For Dual mode (STM32L07x/STM32L08x only) and specific signal Triangle and noise generation please
mbed_official 489: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 489:119543c9f674 111 (+) Configure DAC_OUT1: PA4 in analog mode.
mbed_official 489: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 489:119543c9f674 116 *** Polling mode IO operation ***
mbed_official 489:119543c9f674 117 =================================
mbed_official 489:119543c9f674 118 [..]
mbed_official 489:119543c9f674 119 (+) Start the DAC peripheral using HAL_DAC_Start()
mbed_official 489:119543c9f674 120 (+) To read the DAC last data output value value, use the HAL_DAC_GetValue() function.
mbed_official 489:119543c9f674 121 (+) Stop the DAC peripheral using HAL_DAC_Stop()
mbed_official 489:119543c9f674 122
mbed_official 489:119543c9f674 123 *** DMA mode IO operation ***
mbed_official 489:119543c9f674 124 ==============================
mbed_official 489:119543c9f674 125 [..]
mbed_official 489:119543c9f674 126 (+) Start the DAC peripheral using HAL_DAC_Start_DMA(), at this stage the user specify the length
mbed_official 489:119543c9f674 127 of data to be transferred at each end of conversion
mbed_official 489:119543c9f674 128 (+) At the middle of data transfer HAL_DAC_ConvHalfCpltCallbackCh1()or HAL_DAC_ConvHalfCpltCallbackCh2()
mbed_official 489:119543c9f674 129 function is executed and user can add his own code by customization of function pointer
mbed_official 489:119543c9f674 130 HAL_DAC_ConvHalfCpltCallbackCh1 or HAL_DAC_ConvHalfCpltCallbackCh2
mbed_official 489:119543c9f674 131 (+) At The end of data transfer HAL_DAC_ConvCpltCallbackCh1()or HAL_DAC_ConvCpltCallbackCh2()
mbed_official 489:119543c9f674 132 function is executed and user can add his own code by customization of function pointer
mbed_official 489:119543c9f674 133 HAL_DAC_ConvCpltCallbackCh1 or HAL_DAC_ConvCpltCallbackCh2
mbed_official 489:119543c9f674 134 (+) In case of transfer Error, HAL_DAC_ErrorCallbackCh1() function is executed and user can
mbed_official 489:119543c9f674 135 add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1
mbed_official 489:119543c9f674 136 (+) In case of DMA underrun, DAC interruption triggers and execute internal function HAL_DAC_IRQHandler.
mbed_official 489:119543c9f674 137 HAL_DAC_DMAUnderrunCallbackCh1()or HAL_DAC_DMAUnderrunCallbackCh2()
mbed_official 489:119543c9f674 138 function is executed and user can add his own code by customization of function pointer
mbed_official 489:119543c9f674 139 HAL_DAC_DMAUnderrunCallbackCh1 or HAL_DAC_DMAUnderrunCallbackCh2
mbed_official 489:119543c9f674 140 add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1
mbed_official 489:119543c9f674 141 (+) Stop the DAC peripheral using HAL_DAC_Stop_DMA()
mbed_official 489:119543c9f674 142
mbed_official 489:119543c9f674 143 *** DAC HAL driver macros list ***
mbed_official 489:119543c9f674 144 =============================================
mbed_official 489:119543c9f674 145 [..]
mbed_official 489:119543c9f674 146 Below the list of most used macros in DAC HAL driver.
mbed_official 489:119543c9f674 147
mbed_official 489:119543c9f674 148 (+) __HAL_DAC_ENABLE : Enable the DAC peripheral
mbed_official 489:119543c9f674 149 (+) __HAL_DAC_DISABLE : Disable the DAC peripheral
mbed_official 489:119543c9f674 150 (+) __HAL_DAC_CLEAR_FLAG: Clear the DAC's pending flags
mbed_official 489:119543c9f674 151 (+) __HAL_DAC_GET_FLAG: Get the selected DAC's flag status
mbed_official 489:119543c9f674 152
mbed_official 489:119543c9f674 153 [..]
mbed_official 489:119543c9f674 154 (@) You can refer to the DAC HAL driver header file for more useful macros
mbed_official 489: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 489: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 489: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 489: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 489: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 489: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 489: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 489: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 489: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 489:119543c9f674 332 /** @defgroup DAC_Exported_Functions_Group2 IO operation functions
mbed_official 489: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 489: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 489: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 489:119543c9f674 358 * @arg DAC_CHANNEL_2: DAC Channel2 selected
mbed_official 376:cb4d9db17537 359 * @retval HAL status
mbed_official 376:cb4d9db17537 360 */
mbed_official 489:119543c9f674 361 __weak HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel)
mbed_official 376:cb4d9db17537 362 {
mbed_official 489:119543c9f674 363 /* Note : This function is defined into this file for library reference. */
mbed_official 489:119543c9f674 364 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 489: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 489: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 489: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 489: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 489:119543c9f674 383 assert_param(IS_DAC_CHANNEL(Channel));
mbed_official 376:cb4d9db17537 384
mbed_official 376:cb4d9db17537 385 /* Disable the Peripheral */
mbed_official 489: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 489: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 489: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 489: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 489: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 489:119543c9f674 414 /* Note : This function is defined into this file for library reference. */
mbed_official 489: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 489: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 489: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 489: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 489:119543c9f674 431 __weak HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel)
mbed_official 376:cb4d9db17537 432 {
mbed_official 489:119543c9f674 433 /* Note : This function is defined into this file for library reference. */
mbed_official 489: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 489: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 489:119543c9f674 447 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 489:119543c9f674 448 * @retval The selected DAC channel data output value.
mbed_official 376:cb4d9db17537 449 */
mbed_official 489:119543c9f674 450 __weak uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef* hdac, uint32_t Channel)
mbed_official 376:cb4d9db17537 451 {
mbed_official 489:119543c9f674 452 /* Note : This function is defined into this file for library reference. */
mbed_official 489: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 489: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 489:119543c9f674 465 __weak void HAL_DAC_IRQHandler(DAC_HandleTypeDef* hdac)
mbed_official 376:cb4d9db17537 466 {
mbed_official 489:119543c9f674 467 /* Note : This function is defined into this file for library reference. */
mbed_official 489: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 489: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 489: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 489:119543c9f674 525 * @}
mbed_official 376:cb4d9db17537 526 */
mbed_official 489:119543c9f674 527
mbed_official 489:119543c9f674 528 /** @defgroup DAC_Exported_Functions_Group3 Peripheral Control functions
mbed_official 489:119543c9f674 529 * @brief Peripheral Control functions
mbed_official 489:119543c9f674 530 *
mbed_official 489:119543c9f674 531 @verbatim
mbed_official 489:119543c9f674 532 ==============================================================================
mbed_official 489:119543c9f674 533 ##### Peripheral Control functions #####
mbed_official 489:119543c9f674 534 ==============================================================================
mbed_official 489:119543c9f674 535 [..] This section provides functions allowing to:
mbed_official 489:119543c9f674 536 (+) Configure channels.
mbed_official 489:119543c9f674 537 (+) Set the specified data holding register value for DAC channel.
mbed_official 489:119543c9f674 538
mbed_official 489:119543c9f674 539 @endverbatim
mbed_official 489:119543c9f674 540 * @{
mbed_official 489:119543c9f674 541 */
mbed_official 489:119543c9f674 542
mbed_official 489:119543c9f674 543 /**
mbed_official 489:119543c9f674 544 * @brief Configures the selected DAC channel.
mbed_official 489:119543c9f674 545 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 489:119543c9f674 546 * the configuration information for the specified DAC.
mbed_official 489:119543c9f674 547 * @param sConfig: DAC configuration structure.
mbed_official 489:119543c9f674 548 * @param Channel: The selected DAC channel.
mbed_official 489:119543c9f674 549 * This parameter can be one of the following values:
mbed_official 489:119543c9f674 550 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 489:119543c9f674 551 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 489:119543c9f674 552 * @retval HAL status
mbed_official 489:119543c9f674 553 */
mbed_official 489:119543c9f674 554 HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel)
mbed_official 376:cb4d9db17537 555 {
mbed_official 489:119543c9f674 556 uint32_t tmpreg1 = 0, tmpreg2 = 0;
mbed_official 489:119543c9f674 557
mbed_official 489:119543c9f674 558 /* Check the DAC parameters */
mbed_official 489:119543c9f674 559 assert_param(IS_DAC_TRIGGER(sConfig->DAC_Trigger));
mbed_official 489:119543c9f674 560 assert_param(IS_DAC_OUTPUT_BUFFER_STATE(sConfig->DAC_OutputBuffer));
mbed_official 489:119543c9f674 561 assert_param(IS_DAC_CHANNEL(Channel));
mbed_official 489:119543c9f674 562
mbed_official 489:119543c9f674 563 /* Process locked */
mbed_official 489:119543c9f674 564 __HAL_LOCK(hdac);
mbed_official 489:119543c9f674 565
mbed_official 489:119543c9f674 566 /* Change DAC state */
mbed_official 489:119543c9f674 567 hdac->State = HAL_DAC_STATE_BUSY;
mbed_official 489:119543c9f674 568
mbed_official 489:119543c9f674 569 /* Get the DAC CR value */
mbed_official 489:119543c9f674 570 tmpreg1 = hdac->Instance->CR;
mbed_official 489:119543c9f674 571 /* Clear BOFFx, TENx, TSELx, WAVEx and MAMPx bits */
mbed_official 489:119543c9f674 572 tmpreg1 &= ~(((uint32_t)(DAC_CR_MAMP1 | DAC_CR_WAVE1 | DAC_CR_TSEL1 | DAC_CR_TEN1 | DAC_CR_BOFF1)) << Channel);
mbed_official 489:119543c9f674 573 /* Configure for the selected DAC channel: buffer output, trigger */
mbed_official 489:119543c9f674 574 /* Set TSELx and TENx bits according to DAC_Trigger value */
mbed_official 489:119543c9f674 575 /* Set BOFFx bit according to DAC_OutputBuffer value */
mbed_official 489:119543c9f674 576 tmpreg2 = (sConfig->DAC_Trigger | sConfig->DAC_OutputBuffer);
mbed_official 489:119543c9f674 577 /* Calculate CR register value depending on DAC_Channel */
mbed_official 489:119543c9f674 578 tmpreg1 |= tmpreg2 << Channel;
mbed_official 489:119543c9f674 579 /* Write to DAC CR */
mbed_official 489:119543c9f674 580 hdac->Instance->CR = tmpreg1;
mbed_official 489:119543c9f674 581 /* Disable wave generation */
mbed_official 489:119543c9f674 582 CLEAR_BIT(hdac->Instance->CR, (DAC_CR_WAVE1 << Channel));
mbed_official 489:119543c9f674 583 /* Change DAC state */
mbed_official 489:119543c9f674 584 hdac->State = HAL_DAC_STATE_READY;
mbed_official 489:119543c9f674 585
mbed_official 489:119543c9f674 586 /* Process unlocked */
mbed_official 489:119543c9f674 587 __HAL_UNLOCK(hdac);
mbed_official 489:119543c9f674 588
mbed_official 489:119543c9f674 589 /* Return function status */
mbed_official 489:119543c9f674 590 return HAL_OK;
mbed_official 376:cb4d9db17537 591 }
mbed_official 376:cb4d9db17537 592
mbed_official 376:cb4d9db17537 593 /**
mbed_official 489:119543c9f674 594 * @brief Set the specified data holding register value for DAC channel.
mbed_official 489:119543c9f674 595 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 489:119543c9f674 596 * the configuration information for the specified DAC.
mbed_official 489:119543c9f674 597 * @param Channel: The selected DAC channel.
mbed_official 489:119543c9f674 598 * This parameter can be one of the following values:
mbed_official 489:119543c9f674 599 * @arg DAC_CHANNEL_1: DAC Channel1 selected
mbed_official 489:119543c9f674 600 * @arg DAC_CHANNEL_2: DAC Channel2 selected (STM32L07x/STM32L08x only)
mbed_official 489:119543c9f674 601 * @param Alignment: Specifies the data alignment.
mbed_official 489:119543c9f674 602 * This parameter can be one of the following values:
mbed_official 489:119543c9f674 603 * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected
mbed_official 489:119543c9f674 604 * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected
mbed_official 489:119543c9f674 605 * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected
mbed_official 489:119543c9f674 606 * @param Data: Data to be loaded in the selected data holding register.
mbed_official 489:119543c9f674 607 * @retval HAL status
mbed_official 376:cb4d9db17537 608 */
mbed_official 489: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 489:119543c9f674 611 /* Note : This function is defined into this file for library reference. */
mbed_official 489:119543c9f674 612 /* Function content is located into file stm32l0xx_hal_dac_ex.c */
mbed_official 376:cb4d9db17537 613
mbed_official 489:119543c9f674 614 /* Return function status */
mbed_official 489: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 489:119543c9f674 621
mbed_official 489:119543c9f674 622 /** @defgroup DAC_Exported_Functions_Group4 Peripheral State and Errors functions
mbed_official 489:119543c9f674 623 * @brief Peripheral State and Errors functions
mbed_official 489:119543c9f674 624 *
mbed_official 489:119543c9f674 625 @verbatim
mbed_official 489:119543c9f674 626 ==============================================================================
mbed_official 489:119543c9f674 627 ##### Peripheral State and Errors functions #####
mbed_official 489:119543c9f674 628 ==============================================================================
mbed_official 489:119543c9f674 629 [..]
mbed_official 489:119543c9f674 630 This subsection provides functions allowing to
mbed_official 489:119543c9f674 631 (+) Check the DAC state.
mbed_official 489:119543c9f674 632 (+) Check the DAC Errors.
mbed_official 489:119543c9f674 633
mbed_official 489:119543c9f674 634 @endverbatim
mbed_official 489:119543c9f674 635 * @{
mbed_official 489:119543c9f674 636 */
mbed_official 489:119543c9f674 637
mbed_official 489:119543c9f674 638 /**
mbed_official 489:119543c9f674 639 * @brief return the DAC state
mbed_official 489:119543c9f674 640 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 489:119543c9f674 641 * the configuration information for the specified DAC.
mbed_official 489:119543c9f674 642 * @retval HAL state
mbed_official 489:119543c9f674 643 */
mbed_official 489:119543c9f674 644 HAL_DAC_StateTypeDef HAL_DAC_GetState(DAC_HandleTypeDef* hdac)
mbed_official 489:119543c9f674 645 {
mbed_official 489:119543c9f674 646 /* Return DAC state */
mbed_official 489:119543c9f674 647 return hdac->State;
mbed_official 489:119543c9f674 648 }
mbed_official 489:119543c9f674 649
mbed_official 489:119543c9f674 650
mbed_official 489:119543c9f674 651 /**
mbed_official 489:119543c9f674 652 * @brief Return the DAC error code
mbed_official 489:119543c9f674 653 * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
mbed_official 489:119543c9f674 654 * the configuration information for the specified DAC.
mbed_official 489:119543c9f674 655 * @retval DAC Error Code
mbed_official 489:119543c9f674 656 */
mbed_official 489:119543c9f674 657 uint32_t HAL_DAC_GetError(DAC_HandleTypeDef *hdac)
mbed_official 489:119543c9f674 658 {
mbed_official 489:119543c9f674 659 return hdac->ErrorCode;
mbed_official 489: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 489:119543c9f674 670 /** @addtogroup DAC_Private_Functions
mbed_official 489:119543c9f674 671 * @{
mbed_official 489:119543c9f674 672 */
mbed_official 489:119543c9f674 673
mbed_official 489:119543c9f674 674
mbed_official 489:119543c9f674 675 /**
mbed_official 489:119543c9f674 676 * @}
mbed_official 489:119543c9f674 677 */
mbed_official 489:119543c9f674 678
mbed_official 489:119543c9f674 679 /**
mbed_official 489:119543c9f674 680 * @}
mbed_official 489:119543c9f674 681 */
mbed_official 489:119543c9f674 682
mbed_official 489:119543c9f674 683 /**
mbed_official 489:119543c9f674 684 * @}
mbed_official 489:119543c9f674 685 */
mbed_official 489:119543c9f674 686 #endif /* HAL_DAC_MODULE_ENABLED */
mbed_official 489:119543c9f674 687 #endif /* !STM32L031xx && !STM32L041xx && !STM32L051xx && !STM32L061xx&& !STM32L071xx&& !STM32L081xx*/
mbed_official 489:119543c9f674 688
mbed_official 376:cb4d9db17537 689 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
mbed_official 489:119543c9f674 690