diff options
| author | huntc <[email protected]> | 2021-12-01 09:29:45 +1100 |
|---|---|---|
| committer | huntc <[email protected]> | 2021-12-01 09:37:09 +1100 |
| commit | 496ad4ed43ab3b0948553d371709771c010de565 (patch) | |
| tree | 4430bea845de53e8551f3732844ebc74c666403a | |
| parent | 469852c667cd7105d5eba7b197e1e2b5b9528d15 (diff) | |
Rationale for uarte usage
| -rw-r--r-- | embassy-nrf/src/buffered_uarte.rs | 4 | ||||
| -rw-r--r-- | embassy-nrf/src/uarte.rs | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/embassy-nrf/src/buffered_uarte.rs b/embassy-nrf/src/buffered_uarte.rs index 9763774de..5468f6c0b 100644 --- a/embassy-nrf/src/buffered_uarte.rs +++ b/embassy-nrf/src/buffered_uarte.rs | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | //! Async buffered UART | ||
| 2 | //! | ||
| 3 | //! Please ee [uarte] to understand when [BufferedUarte] should be used. | ||
| 4 | |||
| 1 | use core::cmp::min; | 5 | use core::cmp::min; |
| 2 | use core::marker::PhantomData; | 6 | use core::marker::PhantomData; |
| 3 | use core::mem; | 7 | use core::mem; |
diff --git a/embassy-nrf/src/uarte.rs b/embassy-nrf/src/uarte.rs index 543f7fb73..60e69e032 100644 --- a/embassy-nrf/src/uarte.rs +++ b/embassy-nrf/src/uarte.rs | |||
| @@ -1,6 +1,17 @@ | |||
| 1 | #![macro_use] | 1 | #![macro_use] |
| 2 | 2 | ||
| 3 | //! Async UART | 3 | //! Async UART |
| 4 | //! | ||
| 5 | //! Async UART is provided in two flavors - this one and also [buffered_uarte::BufferedUarte]. | ||
| 6 | //! The [Uarte] here is useful for those use-cases where reading the UARTE peripheral is | ||
| 7 | //! exclusively awaited on. If the [Uarte] is required to be awaited on with some other future, | ||
| 8 | //! for example when using `futures_util::future::select`, then you should consider | ||
| 9 | //! [buffered_uarte::BufferedUarte] so that reads may continue while processing these | ||
| 10 | //! other futures. If you do not then you may lose data between reads. | ||
| 11 | //! | ||
| 12 | //! An advantage of the [Uarte] has over [buffered_uarte::BufferedUarte] is that less | ||
| 13 | //! memory may be used given that buffers are passed in directly to its read and write | ||
| 14 | //! methods. | ||
| 4 | 15 | ||
| 5 | use core::future::Future; | 16 | use core::future::Future; |
| 6 | use core::marker::PhantomData; | 17 | use core::marker::PhantomData; |
