From f67bac27d3e4c9d04ef2da19c5a011617abf5bca Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Mon, 25 Apr 2016 13:46:38 +0000 Subject: Fixed bug #734. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9363 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'os/hal/ports/STM32/LLD') 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 d528718ef..2e22581ed 100644 --- a/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c +++ b/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.c @@ -335,7 +335,11 @@ void dac_lld_put_channel(DACDriver *dacp, case DAC_DHRM_12BIT_RIGHT_DUAL: #endif if (channel == 0U) { +#if STM32_DAC_DUAL_MODE dacp->params->dac->DHR12R1 = (uint32_t)sample; +#else + *(&dacp->params->dac->DHR12R1 + dacp->params->dataoffset) = (uint32_t)sample; +#endif } else { dacp->params->dac->DHR12R2 = (uint32_t)sample; @@ -346,7 +350,11 @@ void dac_lld_put_channel(DACDriver *dacp, case DAC_DHRM_12BIT_LEFT_DUAL: #endif if (channel == 0U) { +#if STM32_DAC_DUAL_MODE dacp->params->dac->DHR12L1 = (uint32_t)sample; +#else + *(&dacp->params->dac->DHR12L1 + dacp->params->dataoffset) = (uint32_t)sample; +#endif } else { dacp->params->dac->DHR12L2 = (uint32_t)sample; @@ -357,10 +365,14 @@ void dac_lld_put_channel(DACDriver *dacp, case DAC_DHRM_8BIT_RIGHT_DUAL: #endif if (channel == 0U) { - dacp->params->dac->DHR8R1 = (uint32_t)sample; +#if STM32_DAC_DUAL_MODE + dacp->params->dac->DHR8R1 = (uint32_t)sample; +#else + *(&dacp->params->dac->DHR8R1 + dacp->params->dataoffset) = (uint32_t)sample; +#endif } else { - dacp->params->dac->DHR8R2 = (uint32_t)sample; + dacp->params->dac->DHR8R2 = (uint32_t)sample; } break; default: -- cgit v1.2.3