diff options
| author | xoviat <[email protected]> | 2025-11-20 16:51:14 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-11-20 16:51:14 +0000 |
| commit | 2031ff95b8a5b5a156b720d1aa643de0c89db04c (patch) | |
| tree | 8b0bce5c3e8bff289c8d92c2a5c35c49fef70df3 | |
| parent | b8737b37f1917f938fbb2293aba37cf985a99002 (diff) | |
| parent | ee2fe27d002302dc981062ec357db56d90370072 (diff) | |
Merge pull request #4907 from xoviat/usart
stm32: fix buffered flush method
| -rw-r--r-- | embassy-stm32/CHANGELOG.md | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/usart/buffered.rs | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/embassy-stm32/CHANGELOG.md b/embassy-stm32/CHANGELOG.md index d2f675dbc..416590f88 100644 --- a/embassy-stm32/CHANGELOG.md +++ b/embassy-stm32/CHANGELOG.md | |||
| @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 7 | 7 | ||
| 8 | ## Unreleased - ReleaseDate | 8 | ## Unreleased - ReleaseDate |
| 9 | 9 | ||
| 10 | - fix: fix incorrect logic for buffered usart transmission complete. | ||
| 10 | - feat: add poll_for methods to exti | 11 | - feat: add poll_for methods to exti |
| 11 | - feat: implement stop for stm32wb. | 12 | - feat: implement stop for stm32wb. |
| 12 | - change: rework hsem and add HIL test for some chips. | 13 | - change: rework hsem and add HIL test for some chips. |
diff --git a/embassy-stm32/src/usart/buffered.rs b/embassy-stm32/src/usart/buffered.rs index 69c3a740f..26d2b8991 100644 --- a/embassy-stm32/src/usart/buffered.rs +++ b/embassy-stm32/src/usart/buffered.rs | |||
| @@ -87,7 +87,7 @@ unsafe fn on_interrupt(r: Regs, state: &'static State) { | |||
| 87 | // With `usart_v4` hardware FIFO is enabled and Transmission complete (TC) | 87 | // With `usart_v4` hardware FIFO is enabled and Transmission complete (TC) |
| 88 | // indicates that all bytes are pushed out from the FIFO. | 88 | // indicates that all bytes are pushed out from the FIFO. |
| 89 | // For other usart variants it shows that last byte from the buffer was just sent. | 89 | // For other usart variants it shows that last byte from the buffer was just sent. |
| 90 | if sr_val.tc() { | 90 | if sr_val.tc() && r.cr1().read().tcie() { |
| 91 | // For others it is cleared above with `clear_interrupt_flags`. | 91 | // For others it is cleared above with `clear_interrupt_flags`. |
| 92 | #[cfg(any(usart_v1, usart_v2))] | 92 | #[cfg(any(usart_v1, usart_v2))] |
| 93 | sr(r).modify(|w| w.set_tc(false)); | 93 | sr(r).modify(|w| w.set_tc(false)); |
