Configures the selected DAC channel.
1203 uint32_t tickstart = 0U;
1204 #if defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 1209 #if defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 1233 hdac->State = HAL_DAC_STATE_BUSY;
1239 if (Channel == DAC_CHANNEL_1)
1245 while (((hdac->Instance->SR) & DAC_SR_BWST1) != 0UL)
1248 if ((
HAL_GetTick() - tickstart) > TIMEOUT_DAC_CALIBCONFIG)
1251 SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_TIMEOUT);
1254 hdac->State = HAL_DAC_STATE_TIMEOUT;
1262 #if !defined (STM32L451xx) & !defined (STM32L452xx) & !defined (STM32L462xx) 1267 while (((hdac->Instance->SR) & DAC_SR_BWST2) != 0UL)
1270 if ((
HAL_GetTick() - tickstart) > TIMEOUT_DAC_CALIBCONFIG)
1273 SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_TIMEOUT);
1276 hdac->State = HAL_DAC_STATE_TIMEOUT;
1296 tmpreg1 = hdac->Instance->CCR;
1298 tmpreg1 &= ~(((uint32_t)(DAC_CCR_OTRIM1)) << (Channel & 0x10UL));
1302 tmpreg1 |= tmpreg2 << (Channel & 0x10UL);
1304 hdac->Instance->CCR = tmpreg1;
1310 tmpreg1 = hdac->Instance->MCR;
1312 tmpreg1 &= ~(((uint32_t)(DAC_MCR_MODE1)) << (Channel & 0x10UL));
1316 tmpreg1 |= tmpreg2 << (Channel & 0x10UL);
1318 hdac->Instance->MCR = tmpreg1;
1321 CLEAR_BIT(hdac->Instance->CR, DAC_CR_CEN1 << (Channel & 0x10UL));
1324 tmpreg1 = hdac->Instance->CR;
1326 tmpreg1 &= ~(((uint32_t)(DAC_CR_MAMP1 | DAC_CR_WAVE1 | DAC_CR_TSEL1 | DAC_CR_TEN1)) << (Channel & 0x10UL));
1331 tmpreg1 |= tmpreg2 << (Channel & 0x10UL);
1332 #if defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 1333 if (DAC_HIGH_FREQUENCY_INTERFACE_MODE_ABOVE_80MHZ == sConfig->
DAC_HighFrequency)
1335 tmpreg1 |= DAC_CR_HFSEL;
1341 tmpreg1 &= ~(DAC_CR_HFSEL);
1346 if (hclkfreq > HFSEL_ENABLE_THRESHOLD_80MHZ)
1349 tmpreg1 |= DAC_CR_HFSEL;
1354 tmpreg1 &= ~(DAC_CR_HFSEL);
1362 hdac->Instance->CR = tmpreg1;
1364 hdac->Instance->CR &= ~(DAC_CR_WAVE1 << (Channel & 0x10UL));
1367 hdac->State = HAL_DAC_STATE_READY;
uint32_t DAC_TrimmingValue
uint32_t DAC_HighFrequency
void HAL_Delay(uint32_t Delay)
This function provides minimum delay (in milliseconds) based on variable incremented.
uint32_t HAL_GetTick(void)
Provide a tick value in millisecond.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
uint32_t DAC_UserTrimming
uint32_t DAC_OutputBuffer
uint32_t DAC_SampleAndHold
uint32_t HAL_RCC_GetHCLKFreq(void)
Return the HCLK frequency.
DAC_SampleAndHoldConfTypeDef DAC_SampleAndHoldConfig
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
uint32_t DAC_ConnectOnChipPeripheral
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))