aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/i2c/v1.rs1
-rw-r--r--embassy-stm32/src/i2c/v2.rs1
-rw-r--r--embassy-stm32/src/usart/mod.rs1
3 files changed, 3 insertions, 0 deletions
diff --git a/embassy-stm32/src/i2c/v1.rs b/embassy-stm32/src/i2c/v1.rs
index f280187e5..e0b151142 100644
--- a/embassy-stm32/src/i2c/v1.rs
+++ b/embassy-stm32/src/i2c/v1.rs
@@ -32,6 +32,7 @@ impl<'d, T: Instance> I2c<'d, T> {
32 unborrow!(scl, sda); 32 unborrow!(scl, sda);
33 33
34 T::enable(); 34 T::enable();
35 T::reset();
35 36
36 unsafe { 37 unsafe {
37 scl.set_as_af(scl.af_num(), AFType::OutputOpenDrain); 38 scl.set_as_af(scl.af_num(), AFType::OutputOpenDrain);
diff --git a/embassy-stm32/src/i2c/v2.rs b/embassy-stm32/src/i2c/v2.rs
index 5e9de8fd3..f3714cbcb 100644
--- a/embassy-stm32/src/i2c/v2.rs
+++ b/embassy-stm32/src/i2c/v2.rs
@@ -53,6 +53,7 @@ impl<'d, T: Instance, TXDMA, RXDMA> I2c<'d, T, TXDMA, RXDMA> {
53 unborrow!(irq, scl, sda, tx_dma, rx_dma); 53 unborrow!(irq, scl, sda, tx_dma, rx_dma);
54 54
55 T::enable(); 55 T::enable();
56 T::reset();
56 57
57 unsafe { 58 unsafe {
58 scl.set_as_af(scl.af_num(), AFType::OutputOpenDrain); 59 scl.set_as_af(scl.af_num(), AFType::OutputOpenDrain);
diff --git a/embassy-stm32/src/usart/mod.rs b/embassy-stm32/src/usart/mod.rs
index 0466065f1..caea8d71b 100644
--- a/embassy-stm32/src/usart/mod.rs
+++ b/embassy-stm32/src/usart/mod.rs
@@ -200,6 +200,7 @@ impl<'d, T: Instance, TxDma, RxDma> Uart<'d, T, TxDma, RxDma> {
200 unborrow!(_inner, rx, tx, tx_dma, rx_dma); 200 unborrow!(_inner, rx, tx, tx_dma, rx_dma);
201 201
202 T::enable(); 202 T::enable();
203 T::reset();
203 let pclk_freq = T::frequency(); 204 let pclk_freq = T::frequency();
204 205
205 // TODO: better calculation, including error checking and OVER8 if possible. 206 // TODO: better calculation, including error checking and OVER8 if possible.