diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-08-26 12:49:00 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-08-26 12:49:00 +0000 |
commit | f19b4e536c28bde92ad49d52ad56146d318612ad (patch) | |
tree | db19ec5d0c10e74edafed4322a76c754901065f1 /os | |
parent | 86e78cd9c4c758ecf3d1836417a3d674b3e96fa6 (diff) | |
download | ChibiOS-f19b4e536c28bde92ad49d52ad56146d318612ad.tar.gz ChibiOS-f19b4e536c28bde92ad49d52ad56146d318612ad.tar.bz2 ChibiOS-f19b4e536c28bde92ad49d52ad56146d318612ad.zip |
Fixed bug #773.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9750 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r-- | os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c | 8 |
1 files changed, 6 insertions, 2 deletions
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
}
}
|