aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/usart/mod.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/embassy-stm32/src/usart/mod.rs b/embassy-stm32/src/usart/mod.rs
index 5c96e202d..6f838cce5 100644
--- a/embassy-stm32/src/usart/mod.rs
+++ b/embassy-stm32/src/usart/mod.rs
@@ -535,9 +535,12 @@ fn blocking_flush(info: &Info) -> Result<(), Error> {
535 let r = info.regs; 535 let r = info.regs;
536 while !sr(r).read().tc() {} 536 while !sr(r).read().tc() {}
537 537
538 // Enable Receiver after transmission complete for Half-Duplex mode 538 // Disable Transmitter and enable receiver after transmission complete for Half-Duplex mode
539 if r.cr3().read().hdsel() { 539 if r.cr3().read().hdsel() {
540 r.cr1().modify(|reg| reg.set_re(true)); 540 r.cr1().modify(|reg| {
541 reg.set_te(false);
542 reg.set_re(true);
543 });
541 } 544 }
542 545
543 Ok(()) 546 Ok(())