diff options
| -rw-r--r-- | embassy-stm32/src/usart/ringbuffered.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/embassy-stm32/src/usart/ringbuffered.rs b/embassy-stm32/src/usart/ringbuffered.rs index 2a59cdcb4..85aeb515f 100644 --- a/embassy-stm32/src/usart/ringbuffered.rs +++ b/embassy-stm32/src/usart/ringbuffered.rs | |||
| @@ -254,9 +254,12 @@ fn clear_idle_flag(r: Regs) -> Sr { | |||
| 254 | 254 | ||
| 255 | // This read also clears the error and idle interrupt flags on v1. | 255 | // This read also clears the error and idle interrupt flags on v1. |
| 256 | unsafe { rdr(r).read_volatile() }; | 256 | unsafe { rdr(r).read_volatile() }; |
| 257 | let mut clear_idle = regs::Icr(0); | 257 | #[cfg(any(usart_v3, usart_v4))] |
| 258 | clear_idle.set_idle(true); | 258 | { |
| 259 | r.icr().write_value(clear_idle); | 259 | let mut clear_idle = regs::Icr(0); |
| 260 | clear_idle.set_idle(true); | ||
| 261 | r.icr().write_value(clear_idle); | ||
| 262 | } | ||
| 260 | 263 | ||
| 261 | r.cr1().modify(|w| w.set_idleie(true)); | 264 | r.cr1().modify(|w| w.set_idleie(true)); |
| 262 | 265 | ||
