mirror of
https://github.com/embassy-rs/embassy.git
synced 2025-09-29 21:31:08 +00:00
Merge pull request #4406 from chemicstry/stm32_bufuart_hd
Fix stm32 buffered half-duplex uart receive
This commit is contained in:
commit
5c1d1d3766
@ -87,6 +87,8 @@ unsafe fn on_interrupt(r: Regs, state: &'static State) {
|
||||
|
||||
r.cr1().modify(|w| {
|
||||
w.set_tcie(false);
|
||||
// Reenable receiver for half-duplex if it was disabled
|
||||
w.set_re(true);
|
||||
});
|
||||
|
||||
state.tx_done.store(true, Ordering::Release);
|
||||
|
@ -651,7 +651,7 @@ pub fn send_break(regs: &Regs) {
|
||||
/// In case of readback, keep Receiver enabled
|
||||
fn half_duplex_set_rx_tx_before_write(r: &Regs, enable_readback: bool) {
|
||||
let mut cr1 = r.cr1().read();
|
||||
if r.cr3().read().hdsel() && !cr1.te() {
|
||||
if r.cr3().read().hdsel() {
|
||||
cr1.set_te(true);
|
||||
cr1.set_re(enable_readback);
|
||||
r.cr1().write_value(cr1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user