aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George2018-05-02 12:07:10 +1000
committerDamien George2018-05-02 12:17:45 +1000
commitdcfd2de5c2319f026e53c0a63495823a5bb11706 (patch)
tree8a91d80fccc40709a1877b78ee53f4b49cb39f63
parentd4f8414ebdc5e61ef9127778ab0ce4c09f8839e9 (diff)
stm32/dac: Make deinit disable the output buffer on H7 and L4 MCUs.
-rw-r--r--ports/stm32/dac.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ports/stm32/dac.c b/ports/stm32/dac.c
index 1b6838641..7a72a2106 100644
--- a/ports/stm32/dac.c
+++ b/ports/stm32/dac.c
@@ -279,12 +279,16 @@ STATIC mp_obj_t pyb_dac_deinit(mp_obj_t self_in) {
pyb_dac_obj_t *self = self_in;
if (self->dac_channel == DAC_CHANNEL_1) {
DAC_Handle.Instance->CR &= ~DAC_CR_EN1;
- #ifndef STM32H7
+ #if defined(STM32H7) || defined(STM32L4)
+ DAC->MCR = (DAC->MCR & ~(7 << DAC_MCR_MODE1_Pos)) | 2 << DAC_MCR_MODE1_Pos;
+ #else
DAC_Handle.Instance->CR |= DAC_CR_BOFF1;
#endif
} else {
DAC_Handle.Instance->CR &= ~DAC_CR_EN2;
- #ifndef STM32H7
+ #if defined(STM32H7) || defined(STM32L4)
+ DAC->MCR = (DAC->MCR & ~(7 << DAC_MCR_MODE2_Pos)) | 2 << DAC_MCR_MODE2_Pos;
+ #else
DAC_Handle.Instance->CR |= DAC_CR_BOFF2;
#endif
}