diff options
| author | KENTARO OKUDA <lonesometraveler@mac.com> | 2020-06-11 09:45:53 -0400 |
|---|---|---|
| committer | KENTARO OKUDA <lonesometraveler@mac.com> | 2020-06-11 09:45:53 -0400 |
| commit | d44f5582d96d2eb73da18502fe3018196559fb59 (patch) | |
| tree | b26d3f11457b3cef53b0234f5afff64f1059d686 /book/en/src/by-example/resources.md | |
| parent | 6e59dacdc375e5d4301ffd34611ab4f6a52061b8 (diff) | |
Update resources.md
Diffstat (limited to 'book/en/src/by-example/resources.md')
| -rw-r--r-- | book/en/src/by-example/resources.md | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/book/en/src/by-example/resources.md b/book/en/src/by-example/resources.md index b33ca9b..db7630e 100644 --- a/book/en/src/by-example/resources.md +++ b/book/en/src/by-example/resources.md @@ -11,7 +11,7 @@ All resources are declared as a single `struct` within the `#[app]` pseudo-module. Each field in the structure corresponds to a different resource. Resources can optionally be given an initial value using the `#[init]` attribute. Resources that are not given an initial value are referred to as -*late* resources and are covered in more detail in a follow up section in this +*late* resources and are covered in more detail in a follow-up section in this page. Each context (task handler, `init` or `idle`) must declare the resources it @@ -31,7 +31,7 @@ access to a resource named `shared`. $ cargo run --example resource {{#include ../../../../ci/expected/resource.run}}``` -Note that the `shared` resource cannot accessed from `idle`. Attempting to do +Note that the `shared` resource cannot be accessed from `idle`. Attempting to do so results in a compile error. ## `lock` @@ -75,14 +75,14 @@ $ cargo run --example lock ## Late resources -Late resources are resources that are not given an initial value at compile -using the `#[init]` attribute but instead are initialized are runtime using the +Late resources are resources that are not given an initial value at compile time +using the `#[init]` attribute but instead are initialized at runtime using the `init::LateResources` values returned by the `init` function. Late resources are useful for *moving* (as in transferring the ownership of) peripherals initialized in `init` into interrupt handlers. -The example below uses late resources to stablish a lockless, one-way channel +The example below uses late resources to establish a lockless, one-way channel between the `UART0` interrupt handler and the `idle` task. A single producer single consumer [`Queue`] is used as the channel. The queue is split into consumer and producer end points in `init` and then each end point is stored |
