44#ifdef HAL_DAC_MODULE_ENABLED
84#if defined(DAC_CHANNEL2_SUPPORT)
93 uint32_t tmp_swtrig = 0UL;
106 hdac->State = HAL_DAC_STATE_BUSY;
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);
125 hdac->State = HAL_DAC_STATE_READY;
150 __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_1);
151 __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_2);
154 hdac->State = HAL_DAC_STATE_READY;
185HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude)
195 assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude));
201 hdac->State = HAL_DAC_STATE_BUSY;
204 MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1) | (DAC_CR_MAMP1)) << (Channel & 0x10UL),
205 (DAC_CR_WAVE1_1 | Amplitude) << (Channel & 0x10UL));
208 hdac->State = HAL_DAC_STATE_READY;
241HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude)
251 assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude));
257 hdac->State = HAL_DAC_STATE_BUSY;
260 MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1) | (DAC_CR_MAMP1)) << (Channel & 0x10UL),
261 (DAC_CR_WAVE1_0 | Amplitude) << (Channel & 0x10UL));
264 hdac->State = HAL_DAC_STATE_READY;
273#if defined(DAC_CHANNEL2_SUPPORT)
289HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef *hdac, uint32_t Alignment, uint32_t Data1, uint32_t 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;
331__weak
void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef *hdac)
347__weak
void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef *hdac)
363__weak
void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac)
379__weak
void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac)
409#if defined(DAC_CHANNEL2_SUPPORT)
416uint32_t HAL_DACEx_DualGetValue(
const DAC_HandleTypeDef *hdac)
420 tmp |= hdac->Instance->DOR1;
422 tmp |= hdac->Instance->DOR2 << 16UL;
442#if defined(DAC_CHANNEL2_SUPPORT)
451 DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((
DMA_HandleTypeDef *)hdma)->Parent;
453#if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
454 hdac->ConvCpltCallbackCh2(hdac);
456 HAL_DACEx_ConvCpltCallbackCh2(hdac);
459 hdac->State = HAL_DAC_STATE_READY;
470 DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((
DMA_HandleTypeDef *)hdma)->Parent;
472#if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
473 hdac->ConvHalfCpltCallbackCh2(hdac);
475 HAL_DACEx_ConvHalfCpltCallbackCh2(hdac);
487 DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((
DMA_HandleTypeDef *)hdma)->Parent;
490 hdac->ErrorCode |= HAL_DAC_ERROR_DMA;
492#if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
493 hdac->ErrorCallbackCh2(hdac);
495 HAL_DACEx_ErrorCallbackCh2(hdac);
498 hdac->State = HAL_DAC_STATE_READY;
struct __DMA_HandleTypeDef DMA_HandleTypeDef
DMA handle Structure definition.
#define assert_param(expr)
This file contains all the functions prototypes for the HAL module driver.
HAL_StatusTypeDef
HAL Status structures definition.
#define __HAL_UNLOCK(__HANDLE__)
#define __HAL_LOCK(__HANDLE__)