20 #ifndef STM32F4xx_LL_DAC_H
21 #define STM32F4xx_LL_DAC_H
28 #include "stm32f4xx.h"
54 #define DAC_CR_CH1_BITOFFSET 0UL
56 #if defined(DAC_CHANNEL2_SUPPORT)
57 #define DAC_CR_CH2_BITOFFSET 16UL
59 #define DAC_CR_CHX_BITOFFSET_MASK (DAC_CR_CH1_BITOFFSET | DAC_CR_CH2_BITOFFSET)
61 #define DAC_CR_CHX_BITOFFSET_MASK (DAC_CR_CH1_BITOFFSET)
64 #define DAC_SWTR_CH1 (DAC_SWTRIGR_SWTRIG1)
65 #if defined(DAC_CHANNEL2_SUPPORT)
66 #define DAC_SWTR_CH2 (DAC_SWTRIGR_SWTRIG2)
67 #define DAC_SWTR_CHX_MASK (DAC_SWTR_CH1 | DAC_SWTR_CH2)
69 #define DAC_SWTR_CHX_MASK (DAC_SWTR_CH1)
72 #define DAC_REG_DHR12R1_REGOFFSET 0x00000000UL
73 #define DAC_REG_DHR12L1_REGOFFSET 0x00100000UL
75 #define DAC_REG_DHR8R1_REGOFFSET 0x02000000UL
77 #if defined(DAC_CHANNEL2_SUPPORT)
78 #define DAC_REG_DHR12R2_REGOFFSET 0x00030000UL
80 #define DAC_REG_DHR12L2_REGOFFSET 0x00400000UL
82 #define DAC_REG_DHR8R2_REGOFFSET 0x05000000UL
85 #define DAC_REG_DHR12RX_REGOFFSET_MASK 0x000F0000UL
86 #define DAC_REG_DHR12LX_REGOFFSET_MASK 0x00F00000UL
87 #define DAC_REG_DHR8RX_REGOFFSET_MASK 0x0F000000UL
88 #define DAC_REG_DHRX_REGOFFSET_MASK (DAC_REG_DHR12RX_REGOFFSET_MASK\
89 | DAC_REG_DHR12LX_REGOFFSET_MASK | DAC_REG_DHR8RX_REGOFFSET_MASK)
91 #define DAC_REG_DOR1_REGOFFSET 0x00000000UL
92 #if defined(DAC_CHANNEL2_SUPPORT)
93 #define DAC_REG_DOR2_REGOFFSET 0x10000000UL
95 #define DAC_REG_DORX_REGOFFSET_MASK (DAC_REG_DOR1_REGOFFSET | DAC_REG_DOR2_REGOFFSET)
99 #define DAC_REG_DHR_REGOFFSET_MASK_POSBIT0 0x0000000FUL
101 #define DAC_REG_DORX_REGOFFSET_MASK_POSBIT0 0x00000001UL
103 #define DAC_REG_SHSRX_REGOFFSET_MASK_POSBIT0 0x00000001UL
106 #define DAC_REG_DHR12RX_REGOFFSET_BITOFFSET_POS 16UL
109 #define DAC_REG_DHR12LX_REGOFFSET_BITOFFSET_POS 20UL
112 #define DAC_REG_DHR8RX_REGOFFSET_BITOFFSET_POS 24UL
115 #define DAC_REG_DORX_REGOFFSET_BITOFFSET_POS 28UL
120 #if defined(DAC_CHANNEL2_SUPPORT)
121 #define DAC_DHR12RD_DACC2DHR_BITOFFSET_POS DAC_DHR12RD_DACC2DHR_Pos
122 #define DAC_DHR12LD_DACC2DHR_BITOFFSET_POS DAC_DHR12LD_DACC2DHR_Pos
123 #define DAC_DHR8RD_DACC2DHR_BITOFFSET_POS DAC_DHR8RD_DACC2DHR_Pos
127 #define DAC_DIGITAL_SCALE_12BITS 4095UL
149 #define __DAC_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__) \
150 ((uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFFSET__) << 2UL))))
158 #if defined(USE_FULL_LL_DRIVER)
217 #define LL_DAC_FLAG_DMAUDR1 (DAC_SR_DMAUDR1)
218 #if defined(DAC_CHANNEL2_SUPPORT)
220 #define LL_DAC_FLAG_DMAUDR2 (DAC_SR_DMAUDR2)
230 #define LL_DAC_IT_DMAUDRIE1 (DAC_CR_DMAUDRIE1)
231 #if defined(DAC_CHANNEL2_SUPPORT)
232 #define LL_DAC_IT_DMAUDRIE2 (DAC_CR_DMAUDRIE2)
241 #define LL_DAC_CHANNEL_1 (DAC_REG_DOR1_REGOFFSET | DAC_REG_DHR12R1_REGOFFSET | DAC_REG_DHR12L1_REGOFFSET | DAC_REG_DHR8R1_REGOFFSET | DAC_CR_CH1_BITOFFSET | DAC_SWTR_CH1)
242 #if defined(DAC_CHANNEL2_SUPPORT)
243 #define LL_DAC_CHANNEL_2 (DAC_REG_DOR2_REGOFFSET | DAC_REG_DHR12R2_REGOFFSET | DAC_REG_DHR12L2_REGOFFSET | DAC_REG_DHR8R2_REGOFFSET | DAC_CR_CH2_BITOFFSET | DAC_SWTR_CH2)
252 #define LL_DAC_TRIG_SOFTWARE (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0)
253 #define LL_DAC_TRIG_EXT_TIM2_TRGO (DAC_CR_TSEL1_2 )
254 #define LL_DAC_TRIG_EXT_TIM8_TRGO ( DAC_CR_TSEL1_0)
255 #define LL_DAC_TRIG_EXT_TIM4_TRGO (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0)
256 #define LL_DAC_TRIG_EXT_TIM6_TRGO 0x00000000UL
257 #define LL_DAC_TRIG_EXT_TIM7_TRGO ( DAC_CR_TSEL1_1 )
258 #define LL_DAC_TRIG_EXT_TIM5_TRGO ( DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0)
259 #define LL_DAC_TRIG_EXT_EXTI_LINE9 (DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 )
267 #define LL_DAC_WAVE_AUTO_GENERATION_NONE 0x00000000UL
268 #define LL_DAC_WAVE_AUTO_GENERATION_NOISE ( DAC_CR_WAVE1_0)
269 #define LL_DAC_WAVE_AUTO_GENERATION_TRIANGLE (DAC_CR_WAVE1_1 )
277 #define LL_DAC_NOISE_LFSR_UNMASK_BIT0 0x00000000UL
278 #define LL_DAC_NOISE_LFSR_UNMASK_BITS1_0 ( DAC_CR_MAMP1_0)
279 #define LL_DAC_NOISE_LFSR_UNMASK_BITS2_0 ( DAC_CR_MAMP1_1 )
280 #define LL_DAC_NOISE_LFSR_UNMASK_BITS3_0 ( DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
281 #define LL_DAC_NOISE_LFSR_UNMASK_BITS4_0 ( DAC_CR_MAMP1_2 )
282 #define LL_DAC_NOISE_LFSR_UNMASK_BITS5_0 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0)
283 #define LL_DAC_NOISE_LFSR_UNMASK_BITS6_0 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 )
284 #define LL_DAC_NOISE_LFSR_UNMASK_BITS7_0 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
285 #define LL_DAC_NOISE_LFSR_UNMASK_BITS8_0 (DAC_CR_MAMP1_3 )
286 #define LL_DAC_NOISE_LFSR_UNMASK_BITS9_0 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0)
287 #define LL_DAC_NOISE_LFSR_UNMASK_BITS10_0 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 )
288 #define LL_DAC_NOISE_LFSR_UNMASK_BITS11_0 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
296 #define LL_DAC_TRIANGLE_AMPLITUDE_1 0x00000000UL
297 #define LL_DAC_TRIANGLE_AMPLITUDE_3 ( DAC_CR_MAMP1_0)
298 #define LL_DAC_TRIANGLE_AMPLITUDE_7 ( DAC_CR_MAMP1_1 )
299 #define LL_DAC_TRIANGLE_AMPLITUDE_15 ( DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
300 #define LL_DAC_TRIANGLE_AMPLITUDE_31 ( DAC_CR_MAMP1_2 )
301 #define LL_DAC_TRIANGLE_AMPLITUDE_63 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0)
302 #define LL_DAC_TRIANGLE_AMPLITUDE_127 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 )
303 #define LL_DAC_TRIANGLE_AMPLITUDE_255 ( DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
304 #define LL_DAC_TRIANGLE_AMPLITUDE_511 (DAC_CR_MAMP1_3 )
305 #define LL_DAC_TRIANGLE_AMPLITUDE_1023 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0)
306 #define LL_DAC_TRIANGLE_AMPLITUDE_2047 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 )
307 #define LL_DAC_TRIANGLE_AMPLITUDE_4095 (DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
315 #define LL_DAC_OUTPUT_BUFFER_ENABLE 0x00000000UL
316 #define LL_DAC_OUTPUT_BUFFER_DISABLE (DAC_CR_BOFF1)
324 #define LL_DAC_RESOLUTION_12B 0x00000000UL
325 #define LL_DAC_RESOLUTION_8B 0x00000002UL
336 #define LL_DAC_DMA_REG_DATA_12BITS_RIGHT_ALIGNED DAC_REG_DHR12RX_REGOFFSET_BITOFFSET_POS
337 #define LL_DAC_DMA_REG_DATA_12BITS_LEFT_ALIGNED DAC_REG_DHR12LX_REGOFFSET_BITOFFSET_POS
338 #define LL_DAC_DMA_REG_DATA_8BITS_RIGHT_ALIGNED DAC_REG_DHR8RX_REGOFFSET_BITOFFSET_POS
363 #define LL_DAC_DELAY_STARTUP_VOLTAGE_SETTLING_US 15UL
376 #define LL_DAC_DELAY_VOLTAGE_SETTLING_US 12UL
402 #define LL_DAC_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
410 #define LL_DAC_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
436 #define __LL_DAC_CHANNEL_TO_DECIMAL_NB(__CHANNEL__) \
437 ((__CHANNEL__) & DAC_SWTR_CHX_MASK)
455 #if defined(DAC_CHANNEL2_SUPPORT)
456 #define __LL_DAC_DECIMAL_NB_TO_CHANNEL(__DECIMAL_NB__) \
457 (((__DECIMAL_NB__) == 1UL) \
458 ? (LL_DAC_CHANNEL_1) \
460 (((__DECIMAL_NB__) == 2UL) \
461 ? (LL_DAC_CHANNEL_2) \
467 #define __LL_DAC_DECIMAL_NB_TO_CHANNEL(__DECIMAL_NB__) \
468 (((__DECIMAL_NB__) == 1UL) \
469 ? (LL_DAC_CHANNEL_1) \
486 #define __LL_DAC_DIGITAL_SCALE(__DAC_RESOLUTION__) \
487 ((0x00000FFFUL) >> ((__DAC_RESOLUTION__) << 1UL))
507 #define __LL_DAC_CALC_VOLTAGE_TO_DATA(__VREFANALOG_VOLTAGE__, __DAC_VOLTAGE__, __DAC_RESOLUTION__) \
508 ((__DAC_VOLTAGE__) * __LL_DAC_DIGITAL_SCALE(__DAC_RESOLUTION__) \
509 / (__VREFANALOG_VOLTAGE__) \
557 DAC_CR_TSEL1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK),
558 TriggerSource << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
588 return (uint32_t)(READ_BIT(DACx->CR, DAC_CR_TSEL1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
589 >> (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)
614 DAC_CR_WAVE1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK),
615 WaveAutoGeneration << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
637 return (uint32_t)(READ_BIT(DACx->CR, DAC_CR_WAVE1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
638 >> (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)
677 DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK),
678 NoiseLFSRMask << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
709 return (uint32_t)(READ_BIT(DACx->CR, DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
710 >> (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)
747 uint32_t TriangleAmplitude)
750 DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK),
751 TriangleAmplitude << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
782 return (uint32_t)(READ_BIT(DACx->CR, DAC_CR_MAMP1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
783 >> (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)
806 DAC_CR_BOFF1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK),
807 OutputBuffer << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
827 return (uint32_t)(READ_BIT(DACx->CR, DAC_CR_BOFF1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
828 >> (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK)
858 DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
879 DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
898 return ((READ_BIT(DACx->CR,
899 DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
900 == (DAC_CR_DMAEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))) ? 1UL : 0UL);
942 return ((uint32_t)(__DAC_PTR_REG_OFFSET((DACx)->DHR12R1, ((DAC_Channel >> (Register & 0x1FUL))
943 & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0))));
972 DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
991 DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
1010 return ((READ_BIT(DACx->CR,
1011 DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
1012 == (DAC_CR_EN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))) ? 1UL : 0UL);
1039 DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
1058 DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK));
1077 return ((READ_BIT(DACx->CR,
1078 DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))
1079 == (DAC_CR_TEN1 << (DAC_Channel & DAC_CR_CHX_BITOFFSET_MASK))) ? 1UL : 0UL);
1108 SET_BIT(DACx->SWTRIGR,
1109 (DAC_Channel & DAC_SWTR_CHX_MASK));
1130 __IO uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, (DAC_Channel >> DAC_REG_DHR12RX_REGOFFSET_BITOFFSET_POS)
1131 & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0);
1133 MODIFY_REG(*preg, DAC_DHR12R1_DACC1DHR, Data);
1154 __IO uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, (DAC_Channel >> DAC_REG_DHR12LX_REGOFFSET_BITOFFSET_POS)
1155 & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0);
1157 MODIFY_REG(*preg, DAC_DHR12L1_DACC1DHR, Data);
1178 __IO uint32_t *preg = __DAC_PTR_REG_OFFSET(DACx->DHR12R1, (DAC_Channel >> DAC_REG_DHR8RX_REGOFFSET_BITOFFSET_POS)
1179 & DAC_REG_DHR_REGOFFSET_MASK_POSBIT0);
1181 MODIFY_REG(*preg, DAC_DHR8R1_DACC1DHR, Data);
1184 #if defined(DAC_CHANNEL2_SUPPORT)
1197 uint32_t DataChannel2)
1199 MODIFY_REG(DACx->DHR12RD,
1200 (DAC_DHR12RD_DACC2DHR | DAC_DHR12RD_DACC1DHR),
1201 ((DataChannel2 << DAC_DHR12RD_DACC2DHR_BITOFFSET_POS) | DataChannel1));
1216 uint32_t DataChannel2)
1221 MODIFY_REG(DACx->DHR12LD,
1222 (DAC_DHR12LD_DACC2DHR | DAC_DHR12LD_DACC1DHR),
1223 ((DataChannel2 << (DAC_DHR12LD_DACC2DHR_BITOFFSET_POS - 4U)) | DataChannel1));
1238 uint32_t DataChannel2)
1240 MODIFY_REG(DACx->DHR8RD,
1241 (DAC_DHR8RD_DACC2DHR | DAC_DHR8RD_DACC1DHR),
1242 ((DataChannel2 << DAC_DHR8RD_DACC2DHR_BITOFFSET_POS) | DataChannel1));
1265 __IO uint32_t
const *preg = __DAC_PTR_REG_OFFSET(DACx->DOR1, (DAC_Channel >> DAC_REG_DORX_REGOFFSET_BITOFFSET_POS)
1266 & DAC_REG_DORX_REGOFFSET_MASK_POSBIT0);
1268 return (uint16_t) READ_BIT(*preg, DAC_DOR1_DACC1DOR);
1287 return ((READ_BIT(DACx->SR, LL_DAC_FLAG_DMAUDR1) == (LL_DAC_FLAG_DMAUDR1)) ? 1UL : 0UL);
1290 #if defined(DAC_CHANNEL2_SUPPORT)
1299 return ((READ_BIT(DACx->SR, LL_DAC_FLAG_DMAUDR2) == (LL_DAC_FLAG_DMAUDR2)) ? 1UL : 0UL);
1311 WRITE_REG(DACx->SR, LL_DAC_FLAG_DMAUDR1);
1314 #if defined(DAC_CHANNEL2_SUPPORT)
1323 WRITE_REG(DACx->SR, LL_DAC_FLAG_DMAUDR2);
1343 SET_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE1);
1346 #if defined(DAC_CHANNEL2_SUPPORT)
1355 SET_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE2);
1367 CLEAR_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE1);
1370 #if defined(DAC_CHANNEL2_SUPPORT)
1379 CLEAR_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE2);
1391 return ((READ_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE1) == (LL_DAC_IT_DMAUDRIE1)) ? 1UL : 0UL);
1394 #if defined(DAC_CHANNEL2_SUPPORT)
1403 return ((READ_BIT(DACx->CR, LL_DAC_IT_DMAUDRIE2) == (LL_DAC_IT_DMAUDRIE2)) ? 1UL : 0UL);
1411 #if defined(USE_FULL_LL_DRIVER)
__STATIC_INLINE void LL_DAC_DisableDMAReq(DAC_TypeDef *DACx, uint32_t DAC_Channel)
Disable DAC DMA transfer request of the selected channel.
__STATIC_INLINE void LL_DAC_EnableDMAReq(DAC_TypeDef *DACx, uint32_t DAC_Channel)
Enable DAC DMA transfer request of the selected channel.
__STATIC_INLINE uint32_t LL_DAC_DMA_GetRegAddr(const DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Register)
Function to help to configure DMA transfer to DAC: retrieve the DAC register address from DAC instanc...
__STATIC_INLINE uint32_t LL_DAC_IsDMAReqEnabled(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get DAC DMA transfer request state of the selected channel. (0: DAC DMA transfer request is disabled,...
__STATIC_INLINE uint32_t LL_DAC_IsActiveFlag_DMAUDR1(const DAC_TypeDef *DACx)
Get DAC underrun flag for DAC channel 1 @rmtoll SR DMAUDR1 LL_DAC_IsActiveFlag_DMAUDR1.
__STATIC_INLINE void LL_DAC_ClearFlag_DMAUDR2(DAC_TypeDef *DACx)
Clear DAC underrun flag for DAC channel 2 @rmtoll SR DMAUDR2 LL_DAC_ClearFlag_DMAUDR2.
__STATIC_INLINE uint32_t LL_DAC_IsActiveFlag_DMAUDR2(const DAC_TypeDef *DACx)
Get DAC underrun flag for DAC channel 2 @rmtoll SR DMAUDR2 LL_DAC_IsActiveFlag_DMAUDR2.
__STATIC_INLINE void LL_DAC_ClearFlag_DMAUDR1(DAC_TypeDef *DACx)
Clear DAC underrun flag for DAC channel 1 @rmtoll SR DMAUDR1 LL_DAC_ClearFlag_DMAUDR1.
__STATIC_INLINE uint32_t LL_DAC_IsEnabledIT_DMAUDR1(const DAC_TypeDef *DACx)
Get DMA underrun interrupt for DAC channel 1 @rmtoll CR DMAUDRIE1 LL_DAC_IsEnabledIT_DMAUDR1.
__STATIC_INLINE void LL_DAC_DisableIT_DMAUDR1(DAC_TypeDef *DACx)
Disable DMA underrun interrupt for DAC channel 1 @rmtoll CR DMAUDRIE1 LL_DAC_DisableIT_DMAUDR1.
__STATIC_INLINE void LL_DAC_DisableIT_DMAUDR2(DAC_TypeDef *DACx)
Disable DMA underrun interrupt for DAC channel 2 @rmtoll CR DMAUDRIE2 LL_DAC_DisableIT_DMAUDR2.
__STATIC_INLINE void LL_DAC_EnableIT_DMAUDR2(DAC_TypeDef *DACx)
Enable DMA underrun interrupt for DAC channel 2 @rmtoll CR DMAUDRIE2 LL_DAC_EnableIT_DMAUDR2.
__STATIC_INLINE uint32_t LL_DAC_IsEnabledIT_DMAUDR2(const DAC_TypeDef *DACx)
Get DMA underrun interrupt for DAC channel 2 @rmtoll CR DMAUDRIE2 LL_DAC_IsEnabledIT_DMAUDR2.
__STATIC_INLINE void LL_DAC_EnableIT_DMAUDR1(DAC_TypeDef *DACx)
Enable DMA underrun interrupt for DAC channel 1 @rmtoll CR DMAUDRIE1 LL_DAC_EnableIT_DMAUDR1.
void LL_DAC_StructInit(LL_DAC_InitTypeDef *DAC_InitStruct)
Set each LL_DAC_InitTypeDef field to default value.
ErrorStatus LL_DAC_DeInit(const DAC_TypeDef *DACx)
De-initialize registers of the selected DAC instance to their default reset values.
ErrorStatus LL_DAC_Init(DAC_TypeDef *DACx, uint32_t DAC_Channel, const LL_DAC_InitTypeDef *DAC_InitStruct)
Initialize some features of DAC channel.
__STATIC_INLINE uint32_t LL_DAC_IsEnabled(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get DAC enable state of the selected channel. (0: DAC channel is disabled, 1: DAC channel is enabled)...
__STATIC_INLINE void LL_DAC_ConvertDualData12LeftAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, uint32_t DataChannel2)
Set the data to be loaded in the data holding register in format 12 bits left alignment (MSB aligned ...
__STATIC_INLINE void LL_DAC_EnableTrigger(DAC_TypeDef *DACx, uint32_t DAC_Channel)
Enable DAC trigger of the selected channel.
__STATIC_INLINE void LL_DAC_ConvertData12LeftAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data)
Set the data to be loaded in the data holding register in format 12 bits left alignment (MSB aligned ...
__STATIC_INLINE void LL_DAC_ConvertDualData8RightAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, uint32_t DataChannel2)
Set the data to be loaded in the data holding register in format 8 bits left alignment (LSB aligned o...
__STATIC_INLINE void LL_DAC_ConvertDualData12RightAligned(DAC_TypeDef *DACx, uint32_t DataChannel1, uint32_t DataChannel2)
Set the data to be loaded in the data holding register in format 12 bits left alignment (LSB aligned ...
__STATIC_INLINE void LL_DAC_ConvertData12RightAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data)
Set the data to be loaded in the data holding register in format 12 bits left alignment (LSB aligned ...
__STATIC_INLINE void LL_DAC_TrigSWConversion(DAC_TypeDef *DACx, uint32_t DAC_Channel)
Trig DAC conversion by software for the selected DAC channel.
__STATIC_INLINE void LL_DAC_Enable(DAC_TypeDef *DACx, uint32_t DAC_Channel)
Enable DAC selected channel. @rmtoll CR EN1 LL_DAC_Enable CR EN2 LL_DAC_Enable.
__STATIC_INLINE void LL_DAC_DisableTrigger(DAC_TypeDef *DACx, uint32_t DAC_Channel)
Disable DAC trigger of the selected channel. @rmtoll CR TEN1 LL_DAC_DisableTrigger CR TEN2 LL_DAC_Di...
__STATIC_INLINE uint32_t LL_DAC_IsTriggerEnabled(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get DAC trigger state of the selected channel. (0: DAC trigger is disabled, 1: DAC trigger is enabled...
__STATIC_INLINE uint32_t LL_DAC_RetrieveOutputData(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Retrieve output data currently generated for the selected DAC channel.
__STATIC_INLINE void LL_DAC_Disable(DAC_TypeDef *DACx, uint32_t DAC_Channel)
Disable DAC selected channel. @rmtoll CR EN1 LL_DAC_Disable CR EN2 LL_DAC_Disable.
__STATIC_INLINE void LL_DAC_ConvertData8RightAligned(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t Data)
Set the data to be loaded in the data holding register in format 8 bits left alignment (LSB aligned o...
uint32_t WaveAutoGenerationConfig
uint32_t WaveAutoGeneration
Structure definition of some features of DAC instance.
__STATIC_INLINE void LL_DAC_SetOutputBuffer(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t OutputBuffer)
Set the output buffer for the selected DAC channel. @rmtoll CR BOFF1 LL_DAC_SetOutputBuffer CR BOFF2...
__STATIC_INLINE void LL_DAC_SetTriggerSource(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t TriggerSource)
Set the conversion trigger source for the selected DAC channel.
__STATIC_INLINE uint32_t LL_DAC_GetWaveAutoGeneration(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get the waveform automatic generation mode for the selected DAC channel. @rmtoll CR WAVE1 LL_DAC_GetW...
__STATIC_INLINE uint32_t LL_DAC_GetWaveNoiseLFSR(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get the noise waveform generation for the selected DAC channel: Noise mode and parameters LFSR (linea...
__STATIC_INLINE uint32_t LL_DAC_GetTriggerSource(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get the conversion trigger source for the selected DAC channel.
__STATIC_INLINE void LL_DAC_SetWaveAutoGeneration(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t WaveAutoGeneration)
Set the waveform automatic generation mode for the selected DAC channel. @rmtoll CR WAVE1 LL_DAC_SetW...
__STATIC_INLINE uint32_t LL_DAC_GetWaveTriangleAmplitude(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get the triangle waveform generation for the selected DAC channel: triangle mode and amplitude....
__STATIC_INLINE void LL_DAC_SetWaveNoiseLFSR(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t NoiseLFSRMask)
Set the noise waveform generation for the selected DAC channel: Noise mode and parameters LFSR (linea...
__STATIC_INLINE uint32_t LL_DAC_GetOutputBuffer(const DAC_TypeDef *DACx, uint32_t DAC_Channel)
Get the output buffer state for the selected DAC channel. @rmtoll CR BOFF1 LL_DAC_GetOutputBuffer CR...
__STATIC_INLINE void LL_DAC_SetWaveTriangleAmplitude(DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t TriangleAmplitude)
Set the triangle waveform generation for the selected DAC channel: triangle mode and amplitude.