From f19b4e536c28bde92ad49d52ad56146d318612ad Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio <gdisirio@gmail.com> Date: Fri, 26 Aug 2016 12:49:00 +0000 Subject: Fixed bug #773. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9750 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'os') diff --git a/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c b/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c index 2e22581ed..816929e81 100644 --- a/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c +++ b/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c @@ -221,6 +221,8 @@ void dac_lld_start(DACDriver *dacp) { /* If the driver is in DAC_STOP state then a full initialization is required.*/ if (dacp->state == DAC_STOP) { + dacchannel_t channel = 0; + /* Enabling the clock source.*/ #if STM32_DAC_USE_DAC1_CH1 if (&DACD1 == dacp) { @@ -231,6 +233,7 @@ void dac_lld_start(DACDriver *dacp) { #if STM32_DAC_USE_DAC1_CH2 if (&DACD2 == dacp) { rccEnableDAC1(false); + channel = 1; } #endif @@ -243,6 +246,7 @@ void dac_lld_start(DACDriver *dacp) { #if STM32_DAC_USE_DAC2_CH2 if (&DACD3 == dacp) { rccEnableDAC2(false); + channel = 1; } #endif @@ -251,7 +255,7 @@ void dac_lld_start(DACDriver *dacp) { #if STM32_DAC_DUAL_MODE == FALSE dacp->params->dac->CR &= dacp->params->regmask; dacp->params->dac->CR |= DAC_CR_EN1 << dacp->params->regshift; - dac_lld_put_channel(dacp, 0U, dacp->config->init); + dac_lld_put_channel(dacp, channel, dacp->config->init); #else if ((dacp->config->datamode == DAC_DHRM_12BIT_RIGHT_DUAL) || (dacp->config->datamode == DAC_DHRM_12BIT_LEFT_DUAL) || @@ -262,7 +266,7 @@ void dac_lld_start(DACDriver *dacp) { else { dacp->params->dac->CR = DAC_CR_EN1; } - dac_lld_put_channel(dacp, 0U, dacp->config->init); + dac_lld_put_channel(dacp, channel, dacp->config->init); #endif } } -- cgit v1.2.3