44 #ifdef HAL_DAC_MODULE_ENABLED
84 #if defined(DAC_CHANNEL2_SUPPORT)
93 uint32_t tmp_swtrig = 0UL;
109 __HAL_DAC_ENABLE(hdac, DAC_CHANNEL_1);
110 __HAL_DAC_ENABLE(hdac, DAC_CHANNEL_2);
113 if ((hdac->Instance->CR & (DAC_CR_TEN1 | DAC_CR_TSEL1)) == DAC_TRIGGER_SOFTWARE)
115 tmp_swtrig |= DAC_SWTRIGR_SWTRIG1;
117 if ((hdac->Instance->CR & (DAC_CR_TEN2 | DAC_CR_TSEL2)) == (DAC_TRIGGER_SOFTWARE << (DAC_CHANNEL_2 & 0x10UL)))
119 tmp_swtrig |= DAC_SWTRIGR_SWTRIG2;
122 SET_BIT(hdac->Instance->SWTRIGR, tmp_swtrig);
150 __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_1);
151 __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_2);
194 assert_param(IS_DAC_CHANNEL(Channel));
195 assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude));
204 MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1) | (DAC_CR_MAMP1)) << (Channel & 0x10UL),
205 (DAC_CR_WAVE1_1 | Amplitude) << (Channel & 0x10UL));
250 assert_param(IS_DAC_CHANNEL(Channel));
251 assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude));
260 MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1) | (DAC_CR_MAMP1)) << (Channel & 0x10UL),
261 (DAC_CR_WAVE1_0 | Amplitude) << (Channel & 0x10UL));
273 #if defined(DAC_CHANNEL2_SUPPORT)
301 assert_param(IS_DAC_ALIGN(Alignment));
302 assert_param(IS_DAC_DATA(Data1));
303 assert_param(IS_DAC_DATA(Data2));
306 if (Alignment == DAC_ALIGN_8B_R)
308 data = ((uint32_t)Data2 << 8U) | Data1;
312 data = ((uint32_t)Data2 << 16U) | Data1;
315 tmp = (uint32_t)hdac->Instance;
316 tmp += DAC_DHR12RD_ALIGNMENT(Alignment);
319 *(__IO uint32_t *)tmp = data;
409 #if defined(DAC_CHANNEL2_SUPPORT)
420 tmp |= hdac->Instance->DOR1;
422 tmp |= hdac->Instance->DOR2 << 16UL;
442 #if defined(DAC_CHANNEL2_SUPPORT)
453 #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
454 hdac->ConvCpltCallbackCh2(hdac);
472 #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
473 hdac->ConvHalfCpltCallbackCh2(hdac);
490 hdac->ErrorCode |= HAL_DAC_ERROR_DMA;
492 #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
493 hdac->ErrorCallbackCh2(hdac);
HAL_StatusTypeDef HAL_DACEx_DualStart(DAC_HandleTypeDef *hdac)
Enables DAC and starts conversion of both channels.
HAL_StatusTypeDef HAL_DACEx_DualStop(DAC_HandleTypeDef *hdac)
Disables DAC and stop conversion of both channels.
void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac)
Error DAC callback for Channel2.
HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude)
Enable or disable the selected DAC channel wave generation.
void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef *hdac)
Conversion half DMA transfer callback in non-blocking mode for Channel2.
void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef *hdac)
Conversion complete callback in non-blocking mode for Channel2.
void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac)
DMA underrun DAC callback for Channel2.
HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef *hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2)
Set the specified data holding register value for dual DAC channel.
HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude)
Enable or disable the selected DAC channel wave generation.
uint32_t HAL_DACEx_DualGetValue(const DAC_HandleTypeDef *hdac)
Return the last data output value of the selected DAC channel.
void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma)
DMA half transfer complete callback.
void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma)
DMA conversion complete callback.
void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma)
DMA error callback.
struct __DAC_HandleTypeDef else typedef struct endif DAC_HandleTypeDef
DAC handle Structure definition.
This file contains all the functions prototypes for the HAL module driver.
DMA handle Structure definition.