aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2016-08-26 12:49:00 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2016-08-26 12:49:00 +0000
commitf19b4e536c28bde92ad49d52ad56146d318612ad (patch)
treedb19ec5d0c10e74edafed4322a76c754901065f1 /os/hal
parent86e78cd9c4c758ecf3d1836417a3d674b3e96fa6 (diff)
downloadChibiOS-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/hal')
-rw-r--r--os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c8
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
}
}