Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 9 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | * @author MCD Application Team |
4 | * @author MCD Application Team |
5 | * @brief Header file of DAC LL module. |
5 | * @brief Header file of DAC LL module. |
6 | ****************************************************************************** |
6 | ****************************************************************************** |
7 | * @attention |
7 | * @attention |
8 | * |
8 | * |
9 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
9 | * <h2><center>© Copyright (c) 2016 STMicroelectronics. |
- | 10 | * All rights reserved.</center></h2> |
|
10 | * |
11 | * |
11 | * Redistribution and use in source and binary forms, with or without modification, |
12 | * This software component is licensed by ST under BSD 3-Clause license, |
12 | * are permitted provided that the following conditions are met: |
13 | * the "License"; You may not use this file except in compliance with the |
13 | * 1. Redistributions of source code must retain the above copyright notice, |
- | |
14 | * this list of conditions and the following disclaimer. |
- | |
15 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
- | |
16 | * this list of conditions and the following disclaimer in the documentation |
- | |
17 | * and/or other materials provided with the distribution. |
14 | * License. You may obtain a copy of the License at: |
18 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
- | |
19 | * may be used to endorse or promote products derived from this software |
15 | * opensource.org/licenses/BSD-3-Clause |
20 | * without specific prior written permission. |
- | |
21 | * |
- | |
22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
- | |
23 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- | |
24 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
- | |
25 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
- | |
26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
- | |
27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
- | |
28 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
- | |
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
- | |
30 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- | |
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- | |
32 | * |
16 | * |
33 | ****************************************************************************** |
17 | ****************************************************************************** |
34 | */ |
18 | */ |
35 | 19 | ||
36 | /* Define to prevent recursive inclusion -------------------------------------*/ |
20 | /* Define to prevent recursive inclusion -------------------------------------*/ |
37 | #ifndef __STM32F1xx_LL_DAC_H |
21 | #ifndef STM32F1xx_LL_DAC_H |
38 | #define __STM32F1xx_LL_DAC_H |
22 | #define STM32F1xx_LL_DAC_H |
39 | 23 | ||
40 | #ifdef __cplusplus |
24 | #ifdef __cplusplus |
41 | extern "C" { |
25 | extern "C" { |
42 | #endif |
26 | #endif |
43 | 27 | ||
Line 46... | Line 30... | ||
46 | 30 | ||
47 | /** @addtogroup STM32F1xx_LL_Driver |
31 | /** @addtogroup STM32F1xx_LL_Driver |
48 | * @{ |
32 | * @{ |
49 | */ |
33 | */ |
50 | 34 | ||
51 | #if defined (DAC) |
35 | #if defined(DAC) |
52 | 36 | ||
53 | /** @defgroup DAC_LL DAC |
37 | /** @defgroup DAC_LL DAC |
54 | * @{ |
38 | * @{ |
55 | */ |
39 | */ |
56 | 40 | ||
Line 62... | Line 46... | ||
62 | * @{ |
46 | * @{ |
63 | */ |
47 | */ |
64 | 48 | ||
65 | /* Internal masks for DAC channels definition */ |
49 | /* Internal masks for DAC channels definition */ |
66 | /* To select into literal LL_DAC_CHANNEL_x the relevant bits for: */ |
50 | /* To select into literal LL_DAC_CHANNEL_x the relevant bits for: */ |
67 | /* - channel bits position into register CR */ |
51 | /* - channel bits position into registers CR, MCR, CCR, SHHR, SHRR */ |
68 | /* - channel bits position into register SWTRIG */ |
52 | /* - channel bits position into register SWTRIG */ |
69 | /* - channel register offset of data holding register DHRx */ |
53 | /* - channel register offset of data holding register DHRx */ |
70 | /* - channel register offset of data output register DORx */ |
54 | /* - channel register offset of data output register DORx */ |
71 | #define DAC_CR_CH1_BITOFFSET 0U /* Position of channel bits into registers CR, MCR, CCR, SHHR, SHRR of channel 1 */ |
55 | #define DAC_CR_CH1_BITOFFSET 0U /* Position of channel bits into registers CR, MCR, CCR, SHHR, SHRR of channel 1 */ |
72 | #define DAC_CR_CH2_BITOFFSET 16U /* Position of channel bits into registers CR, MCR, CCR, SHHR, SHRR of channel 2 */ |
56 | #define DAC_CR_CH2_BITOFFSET 16U /* Position of channel bits into registers CR, MCR, CCR, SHHR, SHRR of channel 2 */ |
73 | #define DAC_CR_CHX_BITOFFSET_MASK (DAC_CR_CH1_BITOFFSET | DAC_CR_CH2_BITOFFSET) |
57 | #define DAC_CR_CHX_BITOFFSET_MASK (DAC_CR_CH1_BITOFFSET | DAC_CR_CH2_BITOFFSET) |
74 | 58 | ||
75 | #define DAC_SWTR_CH1 (DAC_SWTRIGR_SWTRIG1) /* Channel bit into register SWTRIGR of channel 1. This bit is into area of LL_DAC_CR_CHx_BITOFFSET but excluded by mask DAC_CR_CHX_BITOFFSET_MASK (done to be enable to trig SW start of both DAC channels simultaneously). */ |
59 | #define DAC_SWTR_CH1 (DAC_SWTRIGR_SWTRIG1) /* Channel bit into register SWTRIGR of channel 1. */ |
76 | #define DAC_SWTR_CH2 (DAC_SWTRIGR_SWTRIG2) /* Channel bit into register SWTRIGR of channel 2. This bit is into area of LL_DAC_CR_CHx_BITOFFSET but excluded by mask DAC_CR_CHX_BITOFFSET_MASK (done to be enable to trig SW start of both DAC channels simultaneously). */ |
60 | #define DAC_SWTR_CH2 (DAC_SWTRIGR_SWTRIG2) /* Channel bit into register SWTRIGR of channel 2. */ |
77 | #define DAC_SWTR_CHX_MASK (DAC_SWTR_CH1 | DAC_SWTR_CH2) |
61 | #define DAC_SWTR_CHX_MASK (DAC_SWTR_CH1 | DAC_SWTR_CH2) |
78 | 62 | ||
79 | #define DAC_REG_DHR12R1_REGOFFSET 0x00000000U /* Register DHR12Rx channel 1 taken as reference */ |
63 | #define DAC_REG_DHR12R1_REGOFFSET 0x00000000U /* Register DHR12Rx channel 1 taken as reference */ |
80 | #define DAC_REG_DHR12L1_REGOFFSET 0x00100000U /* Register offset of DHR12Lx channel 1 versus DHR12Rx channel 1 (shifted left of 20 bits) */ |
64 | #define DAC_REG_DHR12L1_REGOFFSET 0x00100000U /* Register offset of DHR12Lx channel 1 versus DHR12Rx channel 1 (shifted left of 20 bits) */ |
81 | #define DAC_REG_DHR8R1_REGOFFSET 0x02000000U /* Register offset of DHR8Rx channel 1 versus DHR12Rx channel 1 (shifted left of 24 bits) */ |
65 | #define DAC_REG_DHR8R1_REGOFFSET 0x02000000U /* Register offset of DHR8Rx channel 1 versus DHR12Rx channel 1 (shifted left of 24 bits) */ |
Line 89... | Line 73... | ||
89 | 73 | ||
90 | #define DAC_REG_DOR1_REGOFFSET 0x00000000U /* Register DORx channel 1 taken as reference */ |
74 | #define DAC_REG_DOR1_REGOFFSET 0x00000000U /* Register DORx channel 1 taken as reference */ |
91 | #define DAC_REG_DOR2_REGOFFSET 0x10000000U /* Register offset of DORx channel 1 versus DORx channel 2 (shifted left of 28 bits) */ |
75 | #define DAC_REG_DOR2_REGOFFSET 0x10000000U /* Register offset of DORx channel 1 versus DORx channel 2 (shifted left of 28 bits) */ |
92 | #define DAC_REG_DORX_REGOFFSET_MASK (DAC_REG_DOR1_REGOFFSET | DAC_REG_DOR2_REGOFFSET) |
76 | #define DAC_REG_DORX_REGOFFSET_MASK (DAC_REG_DOR1_REGOFFSET | DAC_REG_DOR2_REGOFFSET) |
93 | 77 | ||
- | 78 | ||
- | 79 | #define DAC_REG_DHR_REGOFFSET_MASK_POSBIT0 0x0000000FU /* Mask of data hold registers offset (DHR12Rx, DHR12Lx, DHR8Rx, ...) when shifted to position 0 */ |
|
- | 80 | #define DAC_REG_DORX_REGOFFSET_MASK_POSBIT0 0x00000001U /* Mask of DORx registers offset when shifted to position 0 */ |
|
- | 81 | #define DAC_REG_SHSRX_REGOFFSET_MASK_POSBIT0 0x00000001U /* Mask of SHSRx registers offset when shifted to position 0 */ |
|
- | 82 | ||
- | 83 | #define DAC_REG_DHR12RX_REGOFFSET_BITOFFSET_POS 16U /* Position of bits register offset of DHR12Rx channel 1 or 2 versus DHR12Rx channel 1 (shifted left of 16 bits) */ |
|
- | 84 | #define DAC_REG_DHR12LX_REGOFFSET_BITOFFSET_POS 20U /* Position of bits register offset of DHR12Lx channel 1 or 2 versus DHR12Rx channel 1 (shifted left of 20 bits) */ |
|
- | 85 | #define DAC_REG_DHR8RX_REGOFFSET_BITOFFSET_POS 24U /* Position of bits register offset of DHR8Rx channel 1 or 2 versus DHR12Rx channel 1 (shifted left of 24 bits) */ |
|
- | 86 | #define DAC_REG_DORX_REGOFFSET_BITOFFSET_POS 28U /* Position of bits register offset of DORx channel 1 or 2 versus DORx channel 1 (shifted left of 28 bits) */ |
|
- | 87 | ||
94 | /* DAC registers bits positions */ |
88 | /* DAC registers bits positions */ |
95 | #define DAC_DHR12RD_DACC2DHR_BITOFFSET_POS 16U /* Value equivalent to POSITION_VAL(DAC_DHR12RD_DACC2DHR) */ |
89 | #define DAC_DHR12RD_DACC2DHR_BITOFFSET_POS DAC_DHR12RD_DACC2DHR_Pos |
96 | #define DAC_DHR12LD_DACC2DHR_BITOFFSET_POS 20U /* Value equivalent to POSITION_VAL(DAC_DHR12LD_DACC2DHR) */ |
90 | #define DAC_DHR12LD_DACC2DHR_BITOFFSET_POS DAC_DHR12LD_DACC2DHR_Pos |
97 | #define DAC_DHR8RD_DACC2DHR_BITOFFSET_POS 8U /* Value equivalent to POSITION_VAL(DAC_DHR8RD_DACC2DHR) */ |
91 | #define DAC_DHR8RD_DACC2DHR_BITOFFSET_POS DAC_DHR8RD_DACC2DHR_Pos |
98 | 92 | ||
99 | /* Miscellaneous data */ |
93 | /* Miscellaneous data */ |
100 | #define DAC_DIGITAL_SCALE_12BITS 4095U /* Full-scale digital value with a resolution of 12 bits (voltage range determined by analog voltage references Vref+ and Vref-, refer to reference manual) */ |
94 | #define DAC_DIGITAL_SCALE_12BITS 4095U /* Full-scale digital value with a resolution of 12 bits (voltage range determined by analog voltage references Vref+ and Vref-, refer to reference manual) */ |
101 | 95 | ||
102 | /** |
96 | /** |
Line 108... | Line 102... | ||
108 | /** @defgroup DAC_LL_Private_Macros DAC Private Macros |
102 | /** @defgroup DAC_LL_Private_Macros DAC Private Macros |
109 | * @{ |
103 | * @{ |
110 | */ |
104 | */ |
111 | 105 | ||
112 | /** |
106 | /** |
113 | * @brief Driver macro reserved for internal use: isolate bits with the |
- | |
114 | * selected mask and shift them to the register LSB |
- | |
115 | * (shift mask on register position bit 0). |
- | |
116 | * @param __BITS__ Bits in register 32 bits |
- | |
117 | * @param __MASK__ Mask in register 32 bits |
- | |
118 | * @retval Bits in register 32 bits |
- | |
119 | */ |
- | |
120 | #define __DAC_MASK_SHIFT(__BITS__, __MASK__) \ |
- | |
121 | (((__BITS__) & (__MASK__)) >> POSITION_VAL((__MASK__))) |
- | |
122 | - | ||
123 | /** |
- | |
124 | * @brief Driver macro reserved for internal use: set a pointer to |
107 | * @brief Driver macro reserved for internal use: set a pointer to |
125 | * a register from a register basis from which an offset |
108 | * a register from a register basis from which an offset |
126 | * is applied. |
109 | * is applied. |
127 | * @param __REG__ Register basis from which the offset is applied. |
110 | * @param __REG__ Register basis from which the offset is applied. |
128 | * @param __REG_OFFFSET__ Offset to be applied (unit: number of registers). |
111 | * @param __REG_OFFFSET__ Offset to be applied (unit: number of registers). |
129 | * @retval Pointer to register address |
112 | * @retval Pointer to register address |
130 | */ |
113 | */ |
131 | #define __DAC_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__) \ |
114 | #define __DAC_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__) \ |
132 | ((uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFFSET__) << 2U)))) |
115 | ((uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFFSET__) << 2U)))) |
133 | 116 | ||
134 | /** |
117 | /** |
135 | * @} |
118 | * @} |
136 | */ |
119 | */ |
137 | 120 | ||
Line 145... | Line 128... | ||
145 | /** |
128 | /** |
146 | * @brief Structure definition of some features of DAC instance. |
129 | * @brief Structure definition of some features of DAC instance. |
147 | */ |
130 | */ |
148 | typedef struct |
131 | typedef struct |
149 | { |
132 | { |
150 | uint32_t TriggerSource; /*!< Set the conversion trigger source for the selected DAC channel: internal (SW start) or from external IP (timer event, external interrupt line). |
133 | uint32_t TriggerSource; /*!< Set the conversion trigger source for the selected DAC channel: internal (SW start) or from external peripheral (timer event, external interrupt line). |
151 | This parameter can be a value of @ref DAC_LL_EC_TRIGGER_SOURCE |
134 | This parameter can be a value of @ref DAC_LL_EC_TRIGGER_SOURCE |
152 | |
- | |
- | 135 | ||
153 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetTriggerSource(). */ |
136 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetTriggerSource(). */ |
154 | 137 | ||
155 | uint32_t WaveAutoGeneration; /*!< Set the waveform automatic generation mode for the selected DAC channel. |
138 | uint32_t WaveAutoGeneration; /*!< Set the waveform automatic generation mode for the selected DAC channel. |
156 | This parameter can be a value of @ref DAC_LL_EC_WAVE_AUTO_GENERATION_MODE |
139 | This parameter can be a value of @ref DAC_LL_EC_WAVE_AUTO_GENERATION_MODE |
157 | |
- | |
- | 140 | ||
158 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetWaveAutoGeneration(). */ |
141 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetWaveAutoGeneration(). */ |
159 | 142 | ||
160 | uint32_t WaveAutoGenerationConfig; /*!< Set the waveform automatic generation mode for the selected DAC channel. |
143 | uint32_t WaveAutoGenerationConfig; /*!< Set the waveform automatic generation mode for the selected DAC channel. |
161 | If waveform automatic generation mode is set to noise, this parameter can be a value of @ref DAC_LL_EC_WAVE_NOISE_LFSR_UNMASK_BITS |
144 | If waveform automatic generation mode is set to noise, this parameter can be a value of @ref DAC_LL_EC_WAVE_NOISE_LFSR_UNMASK_BITS |
162 | If waveform automatic generation mode is set to triangle, this parameter can be a value of @ref DAC_LL_EC_WAVE_TRIANGLE_AMPLITUDE |
145 | If waveform automatic generation mode is set to triangle, this parameter can be a value of @ref DAC_LL_EC_WAVE_TRIANGLE_AMPLITUDE |
163 | @note If waveform automatic generation mode is disabled, this parameter is discarded. |
146 | @note If waveform automatic generation mode is disabled, this parameter is discarded. |
164 | |
- | |
- | 147 | ||
165 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetWaveNoiseLFSR() or @ref LL_DAC_SetWaveTriangleAmplitude(), depending on the wave automatic generation selected. */ |
148 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetWaveNoiseLFSR(), @ref LL_DAC_SetWaveTriangleAmplitude() |
- | 149 | depending on the wave automatic generation selected. */ |
|
166 | 150 | ||
167 | uint32_t OutputBuffer; /*!< Set the output buffer for the selected DAC channel. |
151 | uint32_t OutputBuffer; /*!< Set the output buffer for the selected DAC channel. |
168 | This parameter can be a value of @ref DAC_LL_EC_OUTPUT_BUFFER |
152 | This parameter can be a value of @ref DAC_LL_EC_OUTPUT_BUFFER |
169 | |
- | |
- | 153 | ||
170 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetOutputBuffer(). */ |
154 | This feature can be modified afterwards using unitary function @ref LL_DAC_SetOutputBuffer(). */ |
171 | 155 | ||
172 | } LL_DAC_InitTypeDef; |
156 | } LL_DAC_InitTypeDef; |
173 | 157 | ||
174 | /** |
158 | /** |
Line 184... | Line 168... | ||
184 | /** @defgroup DAC_LL_EC_GET_FLAG DAC flags |
168 | /** @defgroup DAC_LL_EC_GET_FLAG DAC flags |
185 | * @brief Flags defines which can be used with LL_DAC_ReadReg function |
169 | * @brief Flags defines which can be used with LL_DAC_ReadReg function |
186 | * @{ |
170 | * @{ |
187 | */ |
171 | */ |
188 | /* DAC channel 1 flags */ |
172 | /* DAC channel 1 flags */ |
189 | #if defined(DAC_SR_DMAUDR1) |
- | |
190 | #define LL_DAC_FLAG_DMAUDR1 (DAC_SR_DMAUDR1) /*!< DAC channel 1 flag DMA underrun */ |
173 | #define LL_DAC_FLAG_DMAUDR1 (DAC_SR_DMAUDR1) /*!< DAC channel 1 flag DMA underrun */ |
191 | #endif /* DAC_SR_DMAUDR1 */ |
- | |
192 | 174 | ||
193 | /* DAC channel 2 flags */ |
175 | /* DAC channel 2 flags */ |
194 | #if defined(DAC_SR_DMAUDR2) |
- | |
195 | #define LL_DAC_FLAG_DMAUDR2 (DAC_SR_DMAUDR2) /*!< DAC channel 2 flag DMA underrun */ |
176 | #define LL_DAC_FLAG_DMAUDR2 (DAC_SR_DMAUDR2) /*!< DAC channel 2 flag DMA underrun */ |
196 | #endif /* DAC_SR_DMAUDR2 */ |
- | |
197 | /** |
177 | /** |
198 | * @} |
178 | * @} |
199 | */ |
179 | */ |
200 | 180 | ||
201 | /** @defgroup DAC_LL_EC_IT DAC interruptions |
181 | /** @defgroup DAC_LL_EC_IT DAC interruptions |
202 | * @brief IT defines which can be used with LL_DAC_ReadReg and LL_DAC_WriteReg functions |
182 | * @brief IT defines which can be used with LL_DAC_ReadReg and LL_DAC_WriteReg functions |
203 | * @{ |
183 | * @{ |
204 | */ |
184 | */ |
205 | #if defined(DAC_CR_DMAUDRIE1) |
- | |
206 | #define LL_DAC_IT_DMAUDRIE1 (DAC_CR_DMAUDRIE1) /*!< DAC channel 1 interruption DMA underrun */ |
185 | #define LL_DAC_IT_DMAUDRIE1 (DAC_CR_DMAUDRIE1) /*!< DAC channel 1 interruption DMA underrun */ |
207 | #endif /* DAC_CR_DMAUDRIE1 */ |
- | |
208 | #if defined(DAC_CR_DMAUDRIE2) |
- | |
209 | #define LL_DAC_IT_DMAUDRIE2 (DAC_CR_DMAUDRIE2) /*!< DAC channel 2 interruption DMA underrun */ |
186 | #define LL_DAC_IT_DMAUDRIE2 (DAC_CR_DMAUDRIE2) /*!< DAC channel 2 interruption DMA underrun */ |
210 | #endif /* DAC_CR_DMAUDRIE2 */ |
- | |
211 | /** |
187 | /** |
212 | * @} |
188 | * @} |
213 | */ |
189 | */ |
214 | 190 | ||
215 | /** @defgroup DAC_LL_EC_CHANNEL DAC channels |
191 | /** @defgroup DAC_LL_EC_CHANNEL DAC channels |
Line 223... | Line 199... | ||
223 | 199 | ||
224 | /** @defgroup DAC_LL_EC_TRIGGER_SOURCE DAC trigger source |
200 | /** @defgroup DAC_LL_EC_TRIGGER_SOURCE DAC trigger source |
225 | * @{ |
201 | * @{ |
226 | */ |
202 | */ |
227 | #define LL_DAC_TRIG_SOFTWARE (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger internal (SW start) */ |
203 | #define LL_DAC_TRIG_SOFTWARE (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger internal (SW start) */ |
228 | #define LL_DAC_TRIG_EXT_TIM3_TRGO ( DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external IP: TIM3 TRGO. */ |
204 | #define LL_DAC_TRIG_EXT_TIM3_TRGO ( DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external peripheral: TIM3 TRGO. */ |
229 | #define LL_DAC_TRIG_EXT_TIM15_TRGO ( DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external IP: TIM15 TRGO. */ |
205 | #define LL_DAC_TRIG_EXT_TIM15_TRGO ( DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external peripheral: TIM15 TRGO. */ |
230 | #define LL_DAC_TRIG_EXT_TIM2_TRGO (DAC_CR_TSEL1_2 ) /*!< DAC channel conversion trigger from external IP: TIM2 TRGO. */ |
206 | #define LL_DAC_TRIG_EXT_TIM2_TRGO (DAC_CR_TSEL1_2 ) /*!< DAC channel conversion trigger from external peripheral: TIM2 TRGO. */ |
231 | #define LL_DAC_TRIG_EXT_TIM8_TRGO ( DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external IP: TIM8 TRGO. */ |
207 | #define LL_DAC_TRIG_EXT_TIM8_TRGO ( DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external peripheral: TIM8 TRGO. */ |
232 | #define LL_DAC_TRIG_EXT_TIM4_TRGO (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external IP: TIM4 TRGO. */ |
208 | #define LL_DAC_TRIG_EXT_TIM4_TRGO (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external peripheral: TIM4 TRGO. */ |
233 | #define LL_DAC_TRIG_EXT_TIM6_TRGO 0x00000000U /*!< DAC channel conversion trigger from external IP: TIM6 TRGO. */ |
209 | #define LL_DAC_TRIG_EXT_TIM6_TRGO 0x00000000U /*!< DAC channel conversion trigger from external peripheral: TIM6 TRGO. */ |
234 | #define LL_DAC_TRIG_EXT_TIM7_TRGO ( DAC_CR_TSEL1_1 ) /*!< DAC channel conversion trigger from external IP: TIM7 TRGO. */ |
210 | #define LL_DAC_TRIG_EXT_TIM7_TRGO ( DAC_CR_TSEL1_1 ) /*!< DAC channel conversion trigger from external peripheral: TIM7 TRGO. */ |
235 | #define LL_DAC_TRIG_EXT_TIM5_TRGO ( DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external IP: TIM5 TRGO. */ |
211 | #define LL_DAC_TRIG_EXT_TIM5_TRGO ( DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0) /*!< DAC channel conversion trigger from external peripheral: TIM5 TRGO. */ |
236 | #define LL_DAC_TRIG_EXT_EXTI_LINE9 (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 ) /*!< DAC channel conversion trigger from external IP: external interrupt line 9. */ |
212 | #define LL_DAC_TRIG_EXT_EXTI_LINE9 (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 ) /*!< DAC channel conversion trigger from external peripheral: external interrupt line 9. */ |
237 | /** |
213 | /** |
238 | * @} |
214 | * @} |
239 | */ |
215 | */ |
240 | 216 | ||
241 | /** @defgroup DAC_LL_EC_WAVE_AUTO_GENERATION_MODE DAC waveform automatic generation mode |
217 | /** @defgroup DAC_LL_EC_WAVE_AUTO_GENERATION_MODE DAC waveform automatic generation mode |
242 | * @{ |
218 | * @{ |
243 | */ |
219 | */ |
244 | #define LL_DAC_WAVE_AUTO_GENERATION_NONE 0x00000000U /*!< DAC channel wave auto generation mode disabled. */ |
220 | #define LL_DAC_WAVE_AUTO_GENERATION_NONE 0x00000000U /*!< DAC channel wave auto generation mode disabled. */ |
245 | #define LL_DAC_WAVE_AUTO_GENERATION_NOISE (DAC_CR_WAVE1_0) /*!< DAC channel wave auto generation mode enabled, set generated noise waveform. */ |
221 | #define LL_DAC_WAVE_AUTO_GENERATION_NOISE ( DAC_CR_WAVE1_0) /*!< DAC channel wave auto generation mode enabled, set generated noise waveform. */ |
246 | #define LL_DAC_WAVE_AUTO_GENERATION_TRIANGLE (DAC_CR_WAVE1_1) /*!< DAC channel wave auto generation mode enabled, set generated triangle waveform. */ |
222 | #define LL_DAC_WAVE_AUTO_GENERATION_TRIANGLE (DAC_CR_WAVE1_1 ) /*!< DAC channel wave auto generation mode enabled, set generated triangle waveform. */ |
247 | /** |
223 | /** |
248 | * @} |
224 | * @} |
249 | */ |
225 | */ |
250 | 226 | ||
251 | /** @defgroup DAC_LL_EC_WAVE_NOISE_LFSR_UNMASK_BITS DAC wave generation - Noise LFSR unmask bits |
227 | /** @defgroup DAC_LL_EC_WAVE_NOISE_LFSR_UNMASK_BITS DAC wave generation - Noise LFSR unmask bits |
Line 293... | Line 269... | ||
293 | #define LL_DAC_OUTPUT_BUFFER_DISABLE (DAC_CR_BOFF1) /*!< The selected DAC channel output is not buffered: lower drive current capability, but also lower current consumption */ |
269 | #define LL_DAC_OUTPUT_BUFFER_DISABLE (DAC_CR_BOFF1) /*!< The selected DAC channel output is not buffered: lower drive current capability, but also lower current consumption */ |
294 | /** |
270 | /** |
295 | * @} |
271 | * @} |
296 | */ |
272 | */ |
297 | 273 | ||
298 | - | ||
299 | /** @defgroup DAC_LL_EC_RESOLUTION DAC channel output resolution |
274 | /** @defgroup DAC_LL_EC_RESOLUTION DAC channel output resolution |
300 | * @{ |
275 | * @{ |
301 | */ |
276 | */ |
302 | #define LL_DAC_RESOLUTION_12B 0x00000000U /*!< DAC channel resolution 12 bits */ |
277 | #define LL_DAC_RESOLUTION_12B 0x00000000U /*!< DAC channel resolution 12 bits */ |
303 | #define LL_DAC_RESOLUTION_8B 0x00000002U /*!< DAC channel resolution 8 bits */ |
278 | #define LL_DAC_RESOLUTION_8B 0x00000002U /*!< DAC channel resolution 8 bits */ |
Line 309... | Line 284... | ||
309 | * @{ |
284 | * @{ |
310 | */ |
285 | */ |
311 | /* List of DAC registers intended to be used (most commonly) with */ |
286 | /* List of DAC registers intended to be used (most commonly) with */ |
312 | /* DMA transfer. */ |
287 | /* DMA transfer. */ |
313 | /* Refer to function @ref LL_DAC_DMA_GetRegAddr(). */ |
288 | /* Refer to function @ref LL_DAC_DMA_GetRegAddr(). */ |
314 | #define LL_DAC_DMA_REG_DATA_12BITS_RIGHT_ALIGNED DAC_REG_DHR12RX_REGOFFSET_MASK /*!< DAC channel data holding register 12 bits right aligned */ |
289 | #define LL_DAC_DMA_REG_DATA_12BITS_RIGHT_ALIGNED DAC_REG_DHR12RX_REGOFFSET_BITOFFSET_POS /*!< DAC channel data holding register 12 bits right aligned */ |
315 | #define LL_DAC_DMA_REG_DATA_12BITS_LEFT_ALIGNED DAC_REG_DHR12LX_REGOFFSET_MASK /*!< DAC channel data holding register 12 bits left aligned */ |
290 | #define LL_DAC_DMA_REG_DATA_12BITS_LEFT_ALIGNED DAC_REG_DHR12LX_REGOFFSET_BITOFFSET_POS /*!< DAC channel data holding register 12 bits left aligned */ |
316 | #define LL_DAC_DMA_REG_DATA_8BITS_RIGHT_ALIGNED DAC_REG_DHR8RX_REGOFFSET_MASK /*!< DAC channel data holding register 8 bits right aligned */ |
291 | #define LL_DAC_DMA_REG_DATA_8BITS_RIGHT_ALIGNED DAC_REG_DHR8RX_REGOFFSET_BITOFFSET_POS /*!< DAC channel data holding register 8 bits right aligned */ |
317 | /** |
292 | /** |
318 | * @} |
293 | * @} |
319 | */ |
294 | */ |
320 | 295 | ||
321 | /** @defgroup DAC_LL_EC_HW_DELAYS Definitions of DAC hardware constraints delays |
296 | /** @defgroup DAC_LL_EC_HW_DELAYS Definitions of DAC hardware constraints delays |
322 | * @note Only DAC IP HW delays are defined in DAC LL driver driver, |
297 | * @note Only DAC peripheral HW delays are defined in DAC LL driver driver, |
323 | * not timeout values. |
298 | * not timeout values. |
324 | * For details on delays values, refer to descriptions in source code |
299 | * For details on delays values, refer to descriptions in source code |
325 | * above each literal definition. |
300 | * above each literal definition. |
326 | * @{ |
301 | * @{ |
327 | */ |
302 | */ |
Line 350... | Line 325... | ||
350 | /* - load impedance of 5kOhm min, 50pF max */ |
325 | /* - load impedance of 5kOhm min, 50pF max */ |
351 | /* Literal set to maximum value (refer to device datasheet, */ |
326 | /* Literal set to maximum value (refer to device datasheet, */ |
352 | /* parameter "tSETTLING"). */ |
327 | /* parameter "tSETTLING"). */ |
353 | /* Unit: us */ |
328 | /* Unit: us */ |
354 | #define LL_DAC_DELAY_VOLTAGE_SETTLING_US 12U /*!< Delay for DAC channel voltage settling time */ |
329 | #define LL_DAC_DELAY_VOLTAGE_SETTLING_US 12U /*!< Delay for DAC channel voltage settling time */ |
- | 330 | ||
355 | /** |
331 | /** |
356 | * @} |
332 | * @} |
357 | */ |
333 | */ |
358 | 334 | ||
359 | /** |
335 | /** |
Line 422... | Line 398... | ||
422 | * @retval Returned value can be one of the following values: |
398 | * @retval Returned value can be one of the following values: |
423 | * @arg @ref LL_DAC_CHANNEL_1 |
399 | * @arg @ref LL_DAC_CHANNEL_1 |
424 | * @arg @ref LL_DAC_CHANNEL_2 |
400 | * @arg @ref LL_DAC_CHANNEL_2 |
425 | */ |
401 | */ |
426 | #define __LL_DAC_DECIMAL_NB_TO_CHANNEL(__DECIMAL_NB__) \ |
402 | #define __LL_DAC_DECIMAL_NB_TO_CHANNEL(__DECIMAL_NB__) \ |
427 | (((__DECIMAL_NB__) == 1U) \ |
403 | (((__DECIMAL_NB__) == 1U) \ |
428 | ? ( \ |
404 | ? ( \ |
429 | LL_DAC_CHANNEL_1 \ |
405 | LL_DAC_CHANNEL_1 \ |
430 | ) \ |
406 | ) \ |
431 | : \ |
407 | : \ |
432 | (((__DECIMAL_NB__) == 2U) \ |
408 | (((__DECIMAL_NB__) == 2U) \ |
433 | ? ( \ |
409 | ? ( \ |
434 | LL_DAC_CHANNEL_2 \ |
410 | LL_DAC_CHANNEL_2 \ |
435 | ) \ |
411 | ) \ |
436 | : \ |
412 | : \ |
437 | ( \ |
413 | ( \ |
438 | 0 \ |
414 | 0U \ |
439 | ) \ |
415 | ) \ |
440 | ) \ |
416 | ) \ |
441 | ) |
417 | ) |
442 | 418 | ||
443 | /** |
419 | /** |
Line 490... | Line 466... | ||
490 | 466 | ||
491 | /* Exported functions --------------------------------------------------------*/ |
467 | /* Exported functions --------------------------------------------------------*/ |
492 | /** @defgroup DAC_LL_Exported_Functions DAC Exported Functions |
468 | /** @defgroup DAC_LL_Exported_Functions DAC Exported Functions |
493 | * @{ |
469 | * @{ |
494 | */ |
470 | */ |
495 | /** @defgroup DAC_LL_EF_Configuration Configuration of DAC channels |
- | |
496 | * @{ |
- | |
497 | */ |
- | |
498 | - | ||
499 | /** |
471 | /** |
500 | * @brief Set the conversion trigger source for the selected DAC channel. |
472 | * @brief Set the conversion trigger source for the selected DAC channel. |
501 | * @note For conversion trigger source to be effective, DAC trigger |
473 | * @note For conversion trigger source to be effective, DAC trigger |
502 | * must be enabled using function @ref LL_DAC_EnableTrigger(). |
474 | * must be enabled using function @ref LL_DAC_EnableTrigger(). |
503 | * @note To set conversion trigger source, DAC channel must be disabled. |
475 | * @note To set conversion trigger source, DAC channel must be disabled. |
Line 510... | Line 482... | ||
510 | * @param DAC_Channel This parameter can be one of the following values: |
482 | * @param DAC_Channel This parameter can be one of the following values: |
511 | * @arg @ref LL_DAC_CHANNEL_1 |
483 | * @arg @ref LL_DAC_CHANNEL_1 |
512 | * @arg @ref LL_DAC_CHANNEL_2 |
484 | * @arg @ref LL_DAC_CHANNEL_2 |
513 | * @param TriggerSource This parameter can be one of the following values: |
485 | * @param TriggerSource This parameter can be one of the following values: |
514 | * @arg @ref LL_DAC_TRIG_SOFTWARE |
486 | * @arg @ref LL_DAC_TRIG_SOFTWARE |
- | 487 | * @arg @ref LL_DAC_TRIG_EXT_TIM2_TRGO |
|
515 | * @arg @ref LL_DAC_TRIG_EXT_TIM3_TRGO |
488 | * @arg @ref LL_DAC_TRIG_EXT_TIM3_TRGO |
516 | * @arg @ref LL_DAC_TRIG_EXT_TIM15_TRGO |
- | |
517 | * @arg @ref LL_DAC_TRIG_EXT_TIM8_TRGO |
- | |
518 | * @arg @ref LL_DAC_TRIG_EXT_TIM7_TRGO |
- | |
519 | * @arg @ref LL_DAC_TRIG_EXT_TIM6_TRGO |
- | |
520 | * @arg @ref LL_DAC_TRIG_EXT_TIM5_TRGO |
- | |
521 | * @arg @ref LL_DAC_TRIG_EXT_TIM4_TRGO |
489 | * @arg @ref LL_DAC_TRIG_EXT_TIM4_TRGO |
- | 490 | * @arg @ref LL_DAC_TRIG_EXT_TIM5_TRGO |
|
- | 491 | * @arg @ref LL_DAC_TRIG_EXT_TIM6_TRGO |
|
522 | * @arg @ref LL_DAC_TRIG_EXT_TIM2_TRGO |
492 | * @arg @ref LL_DAC_TRIG_EXT_TIM7_TRGO |
- | 493 | * @arg @ref LL_DAC_TRIG_EXT_TIM15_TRGO |
|
523 | * @arg @ref LL_DAC_TRIG_EXT_EXTI_LINE9 |
494 | * @arg @ref LL_DAC_TRIG_EXT_EXTI_LINE9 |
524 | * @retval None |
495 | * @retval None |
525 | */ |
496 | */ |
526 | __STATIC_INLINE void LL_DAC_SetTriggerSource(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t TriggerSource) |
497 | __STATIC_INLINE void LL_DAC_SetTriggerSource(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t TriggerSource) |
527 | { |
498 | { |
Line 542... | Line 513... | ||
542 | * @param DAC_Channel This parameter can be one of the following values: |
513 | * @param DAC_Channel This parameter can be one of the following values: |
543 | * @arg @ref LL_DAC_CHANNEL_1 |
514 | * @arg @ref LL_DAC_CHANNEL_1 |
544 | * @arg @ref LL_DAC_CHANNEL_2 |
515 | * @arg @ref LL_DAC_CHANNEL_2 |
545 | * @retval Returned value can be one of the following values: |
516 | * @retval Returned value can be one of the following values: |
546 | * @arg @ref LL_DAC_TRIG_SOFTWARE |
517 | * @arg @ref LL_DAC_TRIG_SOFTWARE |
- | 518 | * @arg @ref LL_DAC_TRIG_EXT_TIM2_TRGO |
|
547 | * @arg @ref LL_DAC_TRIG_EXT_TIM3_TRGO |
519 | * @arg @ref LL_DAC_TRIG_EXT_TIM3_TRGO |
548 | * @arg @ref LL_DAC_TRIG_EXT_TIM15_TRGO |
- | |
549 | * @arg @ref LL_DAC_TRIG_EXT_TIM8_TRGO |
- | |
550 | * @arg @ref LL_DAC_TRIG_EXT_TIM7_TRGO |
- | |
551 | * @arg @ref LL_DAC_TRIG_EXT_TIM6_TRGO |
- | |
552 | * @arg @ref LL_DAC_TRIG_EXT_TIM5_TRGO |
- | |
553 | * @arg @ref LL_DAC_TRIG_EXT_TIM4_TRGO |
520 | * @arg @ref LL_DAC_TRIG_EXT_TIM4_TRGO |
- | 521 | * @arg @ref LL_DAC_TRIG_EXT_TIM5_TRGO |
|
- | 522 | * @arg @ref LL_DAC_TRIG_EXT_TIM6_TRGO |
|
554 | * @arg @ref LL_DAC_TRIG_EXT_TIM2_TRGO |
523 | * @arg @ref LL_DAC_TRIG_EXT_TIM7_TRGO |
- | 524 | * @arg @ref LL_DAC_TRIG_EXT_TIM15_TRGO |
|
555 | * @arg @ref LL_DAC_TRIG_EXT_EXTI_LINE9 |
525 | * @arg @ref LL_DAC_TRIG_EXT_EXTI_LINE9 |
556 | */ |
526 | */ |
557 | __STATIC_INLINE uint32_t LL_DAC_GetTriggerSource(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
527 | __STATIC_INLINE uint32_t LL_DAC_GetTriggerSource(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
558 | { |
528 | { |
559 | return (uint32_t)(READ_BIT(DACx->CR, DAC_CR_TSEL1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
529 | return (uint32_t)(READ_BIT(DACx->CR, DAC_CR_TSEL1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
Line 639... | Line 609... | ||
639 | DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK), |
609 | DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK), |
640 | NoiseLFSRMask << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)); |
610 | NoiseLFSRMask << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)); |
641 | } |
611 | } |
642 | 612 | ||
643 | /** |
613 | /** |
644 | * @brief Set the noise waveform generation for the selected DAC channel: |
614 | * @brief Get the noise waveform generation for the selected DAC channel: |
645 | * Noise mode and parameters LFSR (linear feedback shift register). |
615 | * Noise mode and parameters LFSR (linear feedback shift register). |
646 | * @rmtoll CR MAMP1 LL_DAC_GetWaveNoiseLFSR\n |
616 | * @rmtoll CR MAMP1 LL_DAC_GetWaveNoiseLFSR\n |
647 | * CR MAMP2 LL_DAC_GetWaveNoiseLFSR |
617 | * CR MAMP2 LL_DAC_GetWaveNoiseLFSR |
648 | * @param DACx DAC instance |
618 | * @param DACx DAC instance |
649 | * @param DAC_Channel This parameter can be one of the following values: |
619 | * @param DAC_Channel This parameter can be one of the following values: |
Line 697... | Line 667... | ||
697 | * @arg @ref LL_DAC_TRIANGLE_AMPLITUDE_1023 |
667 | * @arg @ref LL_DAC_TRIANGLE_AMPLITUDE_1023 |
698 | * @arg @ref LL_DAC_TRIANGLE_AMPLITUDE_2047 |
668 | * @arg @ref LL_DAC_TRIANGLE_AMPLITUDE_2047 |
699 | * @arg @ref LL_DAC_TRIANGLE_AMPLITUDE_4095 |
669 | * @arg @ref LL_DAC_TRIANGLE_AMPLITUDE_4095 |
700 | * @retval None |
670 | * @retval None |
701 | */ |
671 | */ |
702 | __STATIC_INLINE void LL_DAC_SetWaveTriangleAmplitude(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t TriangleAmplitude) |
672 | __STATIC_INLINE void LL_DAC_SetWaveTriangleAmplitude(DAC_TypeDef *DACx, uint32_t DAC_Channel, |
- | 673 | uint32_t TriangleAmplitude) |
|
703 | { |
674 | { |
704 | MODIFY_REG(DACx->CR, |
675 | MODIFY_REG(DACx->CR, |
705 | DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK), |
676 | DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK), |
706 | TriangleAmplitude << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)); |
677 | TriangleAmplitude << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)); |
707 | } |
678 | } |
708 | 679 | ||
709 | /** |
680 | /** |
710 | * @brief Set the triangle waveform generation for the selected DAC channel: |
681 | * @brief Get the triangle waveform generation for the selected DAC channel: |
711 | * triangle mode and amplitude. |
682 | * triangle mode and amplitude. |
712 | * @rmtoll CR MAMP1 LL_DAC_GetWaveTriangleAmplitude\n |
683 | * @rmtoll CR MAMP1 LL_DAC_GetWaveTriangleAmplitude\n |
713 | * CR MAMP2 LL_DAC_GetWaveTriangleAmplitude |
684 | * CR MAMP2 LL_DAC_GetWaveTriangleAmplitude |
714 | * @param DACx DAC instance |
685 | * @param DACx DAC instance |
715 | * @param DAC_Channel This parameter can be one of the following values: |
686 | * @param DAC_Channel This parameter can be one of the following values: |
Line 830... | Line 801... | ||
830 | * @arg @ref LL_DAC_CHANNEL_2 |
801 | * @arg @ref LL_DAC_CHANNEL_2 |
831 | * @retval State of bit (1 or 0). |
802 | * @retval State of bit (1 or 0). |
832 | */ |
803 | */ |
833 | __STATIC_INLINE uint32_t LL_DAC_IsDMAReqEnabled(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
804 | __STATIC_INLINE uint32_t LL_DAC_IsDMAReqEnabled(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
834 | { |
805 | { |
835 | return (READ_BIT(DACx->CR, |
806 | return ((READ_BIT(DACx->CR, |
836 | DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
807 | DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
837 | == (DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))); |
808 | == (DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))) ? 1UL : 0UL); |
838 | } |
809 | } |
839 | 810 | ||
840 | /** |
811 | /** |
841 | * @brief Function to help to configure DMA transfer to DAC: retrieve the |
812 | * @brief Function to help to configure DMA transfer to DAC: retrieve the |
842 | * DAC register address from DAC instance and a list of DAC registers |
813 | * DAC register address from DAC instance and a list of DAC registers |
Line 870... | Line 841... | ||
870 | */ |
841 | */ |
871 | __STATIC_INLINE uint32_t LL_DAC_DMA_GetRegAddr(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Register) |
842 | __STATIC_INLINE uint32_t LL_DAC_DMA_GetRegAddr(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Register) |
872 | { |
843 | { |
873 | /* Retrieve address of register DHR12Rx, DHR12Lx or DHR8Rx depending on */ |
844 | /* Retrieve address of register DHR12Rx, DHR12Lx or DHR8Rx depending on */ |
874 | /* DAC channel selected. */ |
845 | /* DAC channel selected. */ |
875 | return ((uint32_t)(__DAC_PTR_REG_OFFSET((DACx)->DHR12R1, __DAC_MASK_SHIFT(DAC_Channel, Register)))); |
846 | return ((uint32_t)(__DAC_PTR_REG_OFFSET((DACx)->DHR12R1, |
- | 847 | ((DAC_Channel >> (Register & 0x1FUL)) & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0)))); |
|
876 | } |
848 | } |
877 | /** |
849 | /** |
878 | * @} |
850 | * @} |
879 | */ |
851 | */ |
880 | 852 | ||
Line 928... | Line 900... | ||
928 | * @arg @ref LL_DAC_CHANNEL_2 |
900 | * @arg @ref LL_DAC_CHANNEL_2 |
929 | * @retval State of bit (1 or 0). |
901 | * @retval State of bit (1 or 0). |
930 | */ |
902 | */ |
931 | __STATIC_INLINE uint32_t LL_DAC_IsEnabled(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
903 | __STATIC_INLINE uint32_t LL_DAC_IsEnabled(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
932 | { |
904 | { |
933 | return (READ_BIT(DACx->CR, |
905 | return ((READ_BIT(DACx->CR, |
934 | DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
906 | DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
935 | == (DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))); |
907 | == (DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))) ? 1UL : 0UL); |
936 | } |
908 | } |
937 | 909 | ||
938 | /** |
910 | /** |
939 | * @brief Enable DAC trigger of the selected channel. |
911 | * @brief Enable DAC trigger of the selected channel. |
940 | * @note - If DAC trigger is disabled, DAC conversion is performed |
912 | * @note - If DAC trigger is disabled, DAC conversion is performed |
Line 986... | Line 958... | ||
986 | * @arg @ref LL_DAC_CHANNEL_2 |
958 | * @arg @ref LL_DAC_CHANNEL_2 |
987 | * @retval State of bit (1 or 0). |
959 | * @retval State of bit (1 or 0). |
988 | */ |
960 | */ |
989 | __STATIC_INLINE uint32_t LL_DAC_IsTriggerEnabled(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
961 | __STATIC_INLINE uint32_t LL_DAC_IsTriggerEnabled(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
990 | { |
962 | { |
991 | return (READ_BIT(DACx->CR, |
963 | return ((READ_BIT(DACx->CR, |
992 | DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
964 | DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)) |
993 | == (DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))); |
965 | == (DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))) ? 1UL : 0UL); |
994 | } |
966 | } |
995 | 967 | ||
996 | /** |
968 | /** |
997 | * @brief Trig DAC conversion by software for the selected DAC channel. |
969 | * @brief Trig DAC conversion by software for the selected DAC channel. |
998 | * @note Preliminarily, DAC trigger must be set to software trigger |
970 | * @note Preliminarily, DAC trigger must be set to software trigger |
- | 971 | * using function |
|
- | 972 | * @ref LL_DAC_Init() |
|
999 | * using function @ref LL_DAC_SetTriggerSource() |
973 | * @ref LL_DAC_SetTriggerSource() |
1000 | * with parameter "LL_DAC_TRIGGER_SOFTWARE". |
974 | * with parameter "LL_DAC_TRIGGER_SOFTWARE". |
1001 | * and DAC trigger must be enabled using |
975 | * and DAC trigger must be enabled using |
1002 | * function @ref LL_DAC_EnableTrigger(). |
976 | * function @ref LL_DAC_EnableTrigger(). |
1003 | * @note For devices featuring DAC with 2 channels: this function |
977 | * @note For devices featuring DAC with 2 channels: this function |
1004 | * can perform a SW start of both DAC channels simultaneously. |
978 | * can perform a SW start of both DAC channels simultaneously. |
Line 1031... | Line 1005... | ||
1031 | * @param Data Value between Min_Data=0x000 and Max_Data=0xFFF |
1005 | * @param Data Value between Min_Data=0x000 and Max_Data=0xFFF |
1032 | * @retval None |
1006 | * @retval None |
1033 | */ |
1007 | */ |
1034 | __STATIC_INLINE void LL_DAC_ConvertData12RightAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data) |
1008 | __STATIC_INLINE void LL_DAC_ConvertData12RightAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data) |
1035 | { |
1009 | { |
1036 | register uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, __DAC_MASK_SHIFT(DAC_Channel, DAC_REG_DHR12RX_REGOFFSET_MASK)); |
1010 | __IO uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, (DAC_Channel >> DAC_REG_DHR12RX_REGOFFSET_BITOFFSET_POS) & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0); |
1037 | 1011 | ||
1038 | MODIFY_REG(*preg, |
1012 | MODIFY_REG(*preg, |
1039 | DAC_DHR12R1_DACC1DHR, |
1013 | DAC_DHR12R1_DACC1DHR, |
1040 | Data); |
1014 | Data); |
1041 | } |
1015 | } |
1042 | 1016 | ||
Line 1053... | Line 1027... | ||
1053 | * @param Data Value between Min_Data=0x000 and Max_Data=0xFFF |
1027 | * @param Data Value between Min_Data=0x000 and Max_Data=0xFFF |
1054 | * @retval None |
1028 | * @retval None |
1055 | */ |
1029 | */ |
1056 | __STATIC_INLINE void LL_DAC_ConvertData12LeftAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data) |
1030 | __STATIC_INLINE void LL_DAC_ConvertData12LeftAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data) |
1057 | { |
1031 | { |
1058 | register uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, __DAC_MASK_SHIFT(DAC_Channel, DAC_REG_DHR12LX_REGOFFSET_MASK)); |
1032 | __IO uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, (DAC_Channel >> DAC_REG_DHR12LX_REGOFFSET_BITOFFSET_POS) & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0); |
1059 | 1033 | ||
1060 | MODIFY_REG(*preg, |
1034 | MODIFY_REG(*preg, |
1061 | DAC_DHR12L1_DACC1DHR, |
1035 | DAC_DHR12L1_DACC1DHR, |
1062 | Data); |
1036 | Data); |
1063 | } |
1037 | } |
1064 | 1038 | ||
Line 1075... | Line 1049... | ||
1075 | * @param Data Value between Min_Data=0x00 and Max_Data=0xFF |
1049 | * @param Data Value between Min_Data=0x00 and Max_Data=0xFF |
1076 | * @retval None |
1050 | * @retval None |
1077 | */ |
1051 | */ |
1078 | __STATIC_INLINE void LL_DAC_ConvertData8RightAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data) |
1052 | __STATIC_INLINE void LL_DAC_ConvertData8RightAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data) |
1079 | { |
1053 | { |
1080 | register uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, __DAC_MASK_SHIFT(DAC_Channel, DAC_REG_DHR8RX_REGOFFSET_MASK)); |
1054 | __IO uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, (DAC_Channel >> DAC_REG_DHR8RX_REGOFFSET_BITOFFSET_POS) & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0); |
1081 | 1055 | ||
1082 | MODIFY_REG(*preg, |
1056 | MODIFY_REG(*preg, |
1083 | DAC_DHR8R1_DACC1DHR, |
1057 | DAC_DHR8R1_DACC1DHR, |
1084 | Data); |
1058 | Data); |
1085 | } |
1059 | } |
1086 | 1060 | ||
- | 1061 | ||
1087 | /** |
1062 | /** |
1088 | * @brief Set the data to be loaded in the data holding register |
1063 | * @brief Set the data to be loaded in the data holding register |
1089 | * in format 12 bits left alignment (LSB aligned on bit 0), |
1064 | * in format 12 bits left alignment (LSB aligned on bit 0), |
1090 | * for both DAC channels. |
1065 | * for both DAC channels. |
1091 | * @rmtoll DHR12RD DACC1DHR LL_DAC_ConvertDualData12RightAligned\n |
1066 | * @rmtoll DHR12RD DACC1DHR LL_DAC_ConvertDualData12RightAligned\n |
Line 1093... | Line 1068... | ||
1093 | * @param DACx DAC instance |
1068 | * @param DACx DAC instance |
1094 | * @param DataChannel1 Value between Min_Data=0x000 and Max_Data=0xFFF |
1069 | * @param DataChannel1 Value between Min_Data=0x000 and Max_Data=0xFFF |
1095 | * @param DataChannel2 Value between Min_Data=0x000 and Max_Data=0xFFF |
1070 | * @param DataChannel2 Value between Min_Data=0x000 and Max_Data=0xFFF |
1096 | * @retval None |
1071 | * @retval None |
1097 | */ |
1072 | */ |
1098 | __STATIC_INLINE void LL_DAC_ConvertDualData12RightAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, uint32_t DataChannel2) |
1073 | __STATIC_INLINE void LL_DAC_ConvertDualData12RightAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, |
- | 1074 | uint32_t DataChannel2) |
|
1099 | { |
1075 | { |
1100 | MODIFY_REG(DACx->DHR12RD, |
1076 | MODIFY_REG(DACx->DHR12RD, |
1101 | (DAC_DHR12RD_DACC2DHR | DAC_DHR12RD_DACC1DHR), |
1077 | (DAC_DHR12RD_DACC2DHR | DAC_DHR12RD_DACC1DHR), |
1102 | ((DataChannel2 << DAC_DHR12RD_DACC2DHR_BITOFFSET_POS) | DataChannel1)); |
1078 | ((DataChannel2 << DAC_DHR12RD_DACC2DHR_BITOFFSET_POS) | DataChannel1)); |
1103 | } |
1079 | } |
Line 1111... | Line 1087... | ||
1111 | * @param DACx DAC instance |
1087 | * @param DACx DAC instance |
1112 | * @param DataChannel1 Value between Min_Data=0x000 and Max_Data=0xFFF |
1088 | * @param DataChannel1 Value between Min_Data=0x000 and Max_Data=0xFFF |
1113 | * @param DataChannel2 Value between Min_Data=0x000 and Max_Data=0xFFF |
1089 | * @param DataChannel2 Value between Min_Data=0x000 and Max_Data=0xFFF |
1114 | * @retval None |
1090 | * @retval None |
1115 | */ |
1091 | */ |
1116 | __STATIC_INLINE void LL_DAC_ConvertDualData12LeftAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, uint32_t DataChannel2) |
1092 | __STATIC_INLINE void LL_DAC_ConvertDualData12LeftAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, |
- | 1093 | uint32_t DataChannel2) |
|
1117 | { |
1094 | { |
1118 | /* Note: Data of DAC channel 2 shift value subtracted of 4 because */ |
1095 | /* Note: Data of DAC channel 2 shift value subtracted of 4 because */ |
1119 | /* data on 16 bits and DAC channel 2 bits field is on the 12 MSB, */ |
1096 | /* data on 16 bits and DAC channel 2 bits field is on the 12 MSB, */ |
1120 | /* the 4 LSB must be taken into account for the shift value. */ |
1097 | /* the 4 LSB must be taken into account for the shift value. */ |
1121 | MODIFY_REG(DACx->DHR12LD, |
1098 | MODIFY_REG(DACx->DHR12LD, |
Line 1132... | Line 1109... | ||
1132 | * @param DACx DAC instance |
1109 | * @param DACx DAC instance |
1133 | * @param DataChannel1 Value between Min_Data=0x00 and Max_Data=0xFF |
1110 | * @param DataChannel1 Value between Min_Data=0x00 and Max_Data=0xFF |
1134 | * @param DataChannel2 Value between Min_Data=0x00 and Max_Data=0xFF |
1111 | * @param DataChannel2 Value between Min_Data=0x00 and Max_Data=0xFF |
1135 | * @retval None |
1112 | * @retval None |
1136 | */ |
1113 | */ |
1137 | __STATIC_INLINE void LL_DAC_ConvertDualData8RightAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, uint32_t DataChannel2) |
1114 | __STATIC_INLINE void LL_DAC_ConvertDualData8RightAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, |
- | 1115 | uint32_t DataChannel2) |
|
1138 | { |
1116 | { |
1139 | MODIFY_REG(DACx->DHR8RD, |
1117 | MODIFY_REG(DACx->DHR8RD, |
1140 | (DAC_DHR8RD_DACC2DHR | DAC_DHR8RD_DACC1DHR), |
1118 | (DAC_DHR8RD_DACC2DHR | DAC_DHR8RD_DACC1DHR), |
1141 | ((DataChannel2 << DAC_DHR8RD_DACC2DHR_BITOFFSET_POS) | DataChannel1)); |
1119 | ((DataChannel2 << DAC_DHR8RD_DACC2DHR_BITOFFSET_POS) | DataChannel1)); |
1142 | } |
1120 | } |
1143 | 1121 | ||
- | 1122 | ||
1144 | /** |
1123 | /** |
1145 | * @brief Retrieve output data currently generated for the selected DAC channel. |
1124 | * @brief Retrieve output data currently generated for the selected DAC channel. |
1146 | * @note Whatever alignment and resolution settings |
1125 | * @note Whatever alignment and resolution settings |
1147 | * (using functions "LL_DAC_ConvertData{8; 12}{Right; Left} Aligned()": |
1126 | * (using functions "LL_DAC_ConvertData{8; 12}{Right; Left} Aligned()": |
1148 | * @ref LL_DAC_ConvertData12RightAligned(), ...), |
1127 | * @ref LL_DAC_ConvertData12RightAligned(), ...), |
Line 1155... | Line 1134... | ||
1155 | * @arg @ref LL_DAC_CHANNEL_2 |
1134 | * @arg @ref LL_DAC_CHANNEL_2 |
1156 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
1135 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
1157 | */ |
1136 | */ |
1158 | __STATIC_INLINE uint32_t LL_DAC_RetrieveOutputData(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
1137 | __STATIC_INLINE uint32_t LL_DAC_RetrieveOutputData(DAC_TypeDef *DACx, uint32_t DAC_Channel) |
1159 | { |
1138 | { |
1160 | register uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DOR1, __DAC_MASK_SHIFT(DAC_Channel, DAC_REG_DORX_REGOFFSET_MASK)); |
1139 | __IO uint32_t const *preg = __DAC_PTR_REG_OFFSET(DACx->DOR1, (DAC_Channel >> DAC_REG_DORX_REGOFFSET_BITOFFSET_POS) & DAC_REG_DORX_REGOFFSET_MASK_POSBIT0); |
1161 | 1140 | ||
1162 | return (uint16_t) READ_BIT(*preg, DAC_DOR1_DACC1DOR); |
1141 | return (uint16_t) READ_BIT(*preg, DAC_DOR1_DACC1DOR); |
1163 | } |
1142 | } |
1164 | 1143 | ||
1165 | /** |
1144 | /** |
1166 | * @} |
1145 | * @} |
Line 1176... | Line 1155... | ||
1176 | * @param DACx DAC instance |
1155 | * @param DACx DAC instance |
1177 | * @retval State of bit (1 or 0). |
1156 | * @retval State of bit (1 or 0). |
1178 | */ |
1157 | */ |
1179 | __STATIC_INLINE uint32_t LL_DAC_IsActiveFlag_DMAUDR1(DAC_TypeDef *DACx) |
1158 | __STATIC_INLINE uint32_t LL_DAC_IsActiveFlag_DMAUDR1(DAC_TypeDef *DACx) |
1180 | { |
1159 | { |
1181 | return (READ_BIT(DACx->SR, LL_DAC_FLAG_DMAUDR1) == (LL_DAC_FLAG_DMAUDR1)); |
1160 | return ((READ_BIT(DACx->SR, LL_DAC_FLAG_DMAUDR1) == (LL_DAC_FLAG_DMAUDR1)) ? 1UL : 0UL); |
1182 | } |
1161 | } |
1183 | #endif /* DAC_SR_DMAUDR1 */ |
1162 | #endif /* DAC_SR_DMAUDR1 */ |
1184 | 1163 | ||
1185 | #if defined(DAC_SR_DMAUDR2) |
1164 | #if defined(DAC_SR_DMAUDR2) |
1186 | /** |
1165 | /** |
Line 1189... | Line 1168... | ||
1189 | * @param DACx DAC instance |
1168 | * @param DACx DAC instance |
1190 | * @retval State of bit (1 or 0). |
1169 | * @retval State of bit (1 or 0). |
1191 | */ |
1170 | */ |
1192 | __STATIC_INLINE uint32_t LL_DAC_IsActiveFlag_DMAUDR2(DAC_TypeDef *DACx) |
1171 | __STATIC_INLINE uint32_t LL_DAC_IsActiveFlag_DMAUDR2(DAC_TypeDef *DACx) |
1193 | { |
1172 | { |
1194 | return (READ_BIT(DACx->SR, LL_DAC_FLAG_DMAUDR2) == (LL_DAC_FLAG_DMAUDR2)); |
1173 | return ((READ_BIT(DACx->SR, LL_DAC_FLAG_DMAUDR2) == (LL_DAC_FLAG_DMAUDR2)) ? 1UL : 0UL); |
1195 | } |
1174 | } |
1196 | #endif /* DAC_SR_DMAUDR2 */ |
1175 | #endif /* DAC_SR_DMAUDR2 */ |
1197 | 1176 | ||
1198 | #if defined(DAC_SR_DMAUDR1) |
1177 | #if defined(DAC_SR_DMAUDR1) |
1199 | /** |
1178 | /** |
Line 1222... | Line 1201... | ||
1222 | #endif /* DAC_SR_DMAUDR2 */ |
1201 | #endif /* DAC_SR_DMAUDR2 */ |
1223 | 1202 | ||
1224 | /** |
1203 | /** |
1225 | * @} |
1204 | * @} |
1226 | */ |
1205 | */ |
- | 1206 | ||
1227 | /** @defgroup DAC_LL_EF_IT_Management IT management |
1207 | /** @defgroup DAC_LL_EF_IT_Management IT management |
1228 | * @{ |
1208 | * @{ |
1229 | */ |
1209 | */ |
1230 | - | ||
1231 | #if defined(DAC_CR_DMAUDRIE1) |
1210 | #if defined(DAC_CR_DMAUDRIE1) |
1232 | /** |
1211 | /** |
1233 | * @brief Enable DMA underrun interrupt for DAC channel 1 |
1212 | * @brief Enable DMA underrun interrupt for DAC channel 1 |
1234 | * @rmtoll CR DMAUDRIE1 LL_DAC_EnableIT_DMAUDR1 |
1213 | * @rmtoll CR DMAUDRIE1 LL_DAC_EnableIT_DMAUDR1 |
1235 | * @param DACx DAC instance |
1214 | * @param DACx DAC instance |
Line 1287... | Line 1266... | ||
1287 | * @param DACx DAC instance |
1266 | * @param DACx DAC instance |
1288 | * @retval State of bit (1 or 0). |
1267 | * @retval State of bit (1 or 0). |
1289 | */ |
1268 | */ |
1290 | __STATIC_INLINE uint32_t LL_DAC_IsEnabledIT_DMAUDR1(DAC_TypeDef *DACx) |
1269 | __STATIC_INLINE uint32_t LL_DAC_IsEnabledIT_DMAUDR1(DAC_TypeDef *DACx) |
1291 | { |
1270 | { |
1292 | return (READ_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE1) == (LL_DAC_IT_DMAUDRIE1)); |
1271 | return ((READ_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE1) == (LL_DAC_IT_DMAUDRIE1)) ? 1UL : 0UL); |
1293 | } |
1272 | } |
1294 | #endif /* DAC_CR_DMAUDRIE1 */ |
1273 | #endif /* DAC_CR_DMAUDRIE1 */ |
1295 | 1274 | ||
1296 | #if defined(DAC_CR_DMAUDRIE2) |
1275 | #if defined(DAC_CR_DMAUDRIE2) |
1297 | /** |
1276 | /** |
Line 1300... | Line 1279... | ||
1300 | * @param DACx DAC instance |
1279 | * @param DACx DAC instance |
1301 | * @retval State of bit (1 or 0). |
1280 | * @retval State of bit (1 or 0). |
1302 | */ |
1281 | */ |
1303 | __STATIC_INLINE uint32_t LL_DAC_IsEnabledIT_DMAUDR2(DAC_TypeDef *DACx) |
1282 | __STATIC_INLINE uint32_t LL_DAC_IsEnabledIT_DMAUDR2(DAC_TypeDef *DACx) |
1304 | { |
1283 | { |
1305 | return (READ_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE2) == (LL_DAC_IT_DMAUDRIE2)); |
1284 | return ((READ_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE2) == (LL_DAC_IT_DMAUDRIE2)) ? 1UL : 0UL); |
1306 | } |
1285 | } |
1307 | #endif /* DAC_CR_DMAUDRIE2 */ |
1286 | #endif /* DAC_CR_DMAUDRIE2 */ |
1308 | 1287 | ||
1309 | /** |
1288 | /** |
1310 | * @} |
1289 | * @} |
Line 1313... | Line 1292... | ||
1313 | #if defined(USE_FULL_LL_DRIVER) |
1292 | #if defined(USE_FULL_LL_DRIVER) |
1314 | /** @defgroup DAC_LL_EF_Init Initialization and de-initialization functions |
1293 | /** @defgroup DAC_LL_EF_Init Initialization and de-initialization functions |
1315 | * @{ |
1294 | * @{ |
1316 | */ |
1295 | */ |
1317 | 1296 | ||
1318 | ErrorStatus LL_DAC_DeInit(DAC_TypeDef* DACx); |
1297 | ErrorStatus LL_DAC_DeInit(DAC_TypeDef *DACx); |
1319 | ErrorStatus LL_DAC_Init(DAC_TypeDef* DACx, uint32_t DAC_Channel, LL_DAC_InitTypeDef* DAC_InitStruct); |
1298 | ErrorStatus LL_DAC_Init(DAC_TypeDef *DACx, uint32_t DAC_Channel, LL_DAC_InitTypeDef *DAC_InitStruct); |
1320 | void LL_DAC_StructInit(LL_DAC_InitTypeDef* DAC_InitStruct); |
1299 | void LL_DAC_StructInit(LL_DAC_InitTypeDef *DAC_InitStruct); |
1321 | 1300 | ||
1322 | /** |
1301 | /** |
1323 | * @} |
1302 | * @} |
1324 | */ |
1303 | */ |
1325 | #endif /* USE_FULL_LL_DRIVER */ |
1304 | #endif /* USE_FULL_LL_DRIVER */ |
Line 1340... | Line 1319... | ||
1340 | 1319 | ||
1341 | #ifdef __cplusplus |
1320 | #ifdef __cplusplus |
1342 | } |
1321 | } |
1343 | #endif |
1322 | #endif |
1344 | 1323 | ||
1345 | #endif /* __STM32F1xx_LL_DAC_H */ |
1324 | #endif /* STM32F1xx_LL_DAC_H */ |
1346 | 1325 | ||
1347 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
1326 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |