mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-11-29 06:54:33 +01:00
fix more links
This commit is contained in:
parent
fa3872a7f6
commit
1e0cfa19ba
8 changed files with 15 additions and 15 deletions
|
@ -13,9 +13,9 @@ point to a *peripheral access crate* (PAC) generated using [`svd2rust`]
|
||||||
**v0.14.x** or newer. The `app` attribute will expand into a suitable entry
|
**v0.14.x** or newer. The `app` attribute will expand into a suitable entry
|
||||||
point so it's not required to use the [`cortex_m_rt::entry`] attribute.
|
point so it's not required to use the [`cortex_m_rt::entry`] attribute.
|
||||||
|
|
||||||
[`app`]: ../../api/cortex_m_rtfm_macros/attr.app.html
|
[`app`]: ../../../api/cortex_m_rtfm_macros/attr.app.html
|
||||||
[`svd2rust`]: https://crates.io/crates/svd2rust
|
[`svd2rust`]: https://crates.io/crates/svd2rust
|
||||||
[`cortex_m_rt::entry`]: ../../api/cortex_m_rt_macros/attr.entry.html
|
[`cortex_m_rt::entry`]: ../../../api/cortex_m_rt_macros/attr.entry.html
|
||||||
|
|
||||||
> **ASIDE**: Some of you may be wondering why we are using a `const` item as a
|
> **ASIDE**: Some of you may be wondering why we are using a `const` item as a
|
||||||
> module and not a proper `mod` item. The reason is that using attributes on
|
> module and not a proper `mod` item. The reason is that using attributes on
|
||||||
|
|
|
@ -46,8 +46,8 @@ instead of a reference. This resource proxy is a structure that implements the
|
||||||
[`Mutex`] trait. The only method on this trait, [`lock`], runs its closure
|
[`Mutex`] trait. The only method on this trait, [`lock`], runs its closure
|
||||||
argument in a critical section.
|
argument in a critical section.
|
||||||
|
|
||||||
[`Mutex`]: ../../api/rtfm/trait.Mutex.html
|
[`Mutex`]: ../../../api/rtfm/trait.Mutex.html
|
||||||
[`lock`]: ../../api/rtfm/trait.Mutex.html#method.lock
|
[`lock`]: ../../../api/rtfm/trait.Mutex.html#method.lock
|
||||||
|
|
||||||
The critical section created by the `lock` API is based on dynamic priorities:
|
The critical section created by the `lock` API is based on dynamic priorities:
|
||||||
it temporarily raises the dynamic priority of the context to a *ceiling*
|
it temporarily raises the dynamic priority of the context to a *ceiling*
|
||||||
|
@ -89,7 +89,7 @@ consumer and producer end points in `init` and then each end point is stored
|
||||||
in a different resource; `UART0` owns the producer resource and `idle` owns
|
in a different resource; `UART0` owns the producer resource and `idle` owns
|
||||||
the consumer resource.
|
the consumer resource.
|
||||||
|
|
||||||
[`Queue`]: ../../api/heapless/spsc/struct.Queue.html
|
[`Queue`]: ../../../api/heapless/spsc/struct.Queue.html
|
||||||
|
|
||||||
``` rust
|
``` rust
|
||||||
{{#include ../../../../examples/late.rs}}
|
{{#include ../../../../examples/late.rs}}
|
||||||
|
|
|
@ -20,7 +20,7 @@ type (see [`core::time::Duration`]) and this `Duration` type must implement the
|
||||||
integer. If the result of the conversion doesn't fit in a 32-bit number then the
|
integer. If the result of the conversion doesn't fit in a 32-bit number then the
|
||||||
operation must return an error, any error type.
|
operation must return an error, any error type.
|
||||||
|
|
||||||
[`Monotonic`]: ../../api/rtfm/trait.Monotonic.html
|
[`Monotonic`]: ../../../api/rtfm/trait.Monotonic.html
|
||||||
[std-instant]: https://doc.rust-lang.org/std/time/struct.Instant.html
|
[std-instant]: https://doc.rust-lang.org/std/time/struct.Instant.html
|
||||||
[`core::time::Duration`]: https://doc.rust-lang.org/core/time/struct.Duration.html
|
[`core::time::Duration`]: https://doc.rust-lang.org/core/time/struct.Duration.html
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ one can write a generic function that operates on generic resources and call it
|
||||||
from different tasks to perform some operation on the same set of resources.
|
from different tasks to perform some operation on the same set of resources.
|
||||||
Here's one such example:
|
Here's one such example:
|
||||||
|
|
||||||
[`rtfm::Exclusive`]: ../../api/rtfm/struct.Exclusive.html
|
[`rtfm::Exclusive`]: ../../../api/rtfm/struct.Exclusive.html
|
||||||
|
|
||||||
``` rust
|
``` rust
|
||||||
{{#include ../../../../examples/generics.rs}}
|
{{#include ../../../../examples/generics.rs}}
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
[`svd2rust`] **v0.14.x**. Атрибут `app` развернется в удобную точку входа,
|
[`svd2rust`] **v0.14.x**. Атрибут `app` развернется в удобную точку входа,
|
||||||
поэтому нет необходимости использовать атрибут [`cortex_m_rt::entry`].
|
поэтому нет необходимости использовать атрибут [`cortex_m_rt::entry`].
|
||||||
|
|
||||||
[`app`]: ../../api/cortex_m_rtfm_macros/attr.app.html
|
[`app`]: ../../../api/cortex_m_rtfm_macros/attr.app.html
|
||||||
[`svd2rust`]: https://crates.io/crates/svd2rust
|
[`svd2rust`]: https://crates.io/crates/svd2rust
|
||||||
[`cortex_m_rt::entry`]: ../../api/cortex_m_rt_macros/attr.entry.html
|
[`cortex_m_rt::entry`]: ../../../api/cortex_m_rt_macros/attr.entry.html
|
||||||
|
|
||||||
> **ОТСТУПЛЕНИЕ**: Некоторые из вас удивятся, почему мы используем ключевое слово `const` как
|
> **ОТСТУПЛЕНИЕ**: Некоторые из вас удивятся, почему мы используем ключевое слово `const` как
|
||||||
> модуль, а не правильное `mod`. Причина в том, что использование атрибутов на
|
> модуль, а не правильное `mod`. Причина в том, что использование атрибутов на
|
||||||
|
|
|
@ -51,7 +51,7 @@ API критической секции, предоставляемое фрей
|
||||||
включая все соперничающие за ресурс, но будут позволять запуск обработчиков с
|
включая все соперничающие за ресурс, но будут позволять запуск обработчиков с
|
||||||
большим приоритетом не соперничащих за ресурс.
|
большим приоритетом не соперничащих за ресурс.
|
||||||
|
|
||||||
[`Mutex`]: ../../api/rtfm/trait.Mutex.html
|
[`Mutex`]: ../../../api/rtfm/trait.Mutex.html
|
||||||
|
|
||||||
В примере ниже у нас есть 3 обработчика прерываний с приоритетами от одного
|
В примере ниже у нас есть 3 обработчика прерываний с приоритетами от одного
|
||||||
до трех. Два обработчика с низким приоритетом соперничают за ресурс `SHARED`.
|
до трех. Два обработчика с низким приоритетом соперничают за ресурс `SHARED`.
|
||||||
|
@ -61,7 +61,7 @@ API критической секции, предоставляемое фрей
|
||||||
с наивысшим приоритетом может свободно вытеснять критическую секцию,
|
с наивысшим приоритетом может свободно вытеснять критическую секцию,
|
||||||
созданную обработчиком с низшим приоритетом.
|
созданную обработчиком с низшим приоритетом.
|
||||||
|
|
||||||
[`lock`]: ../../api/rtfm/trait.Mutex.html#method.lock
|
[`lock`]: ../../../api/rtfm/trait.Mutex.html#method.lock
|
||||||
|
|
||||||
``` rust
|
``` rust
|
||||||
{{#include ../../../../examples/lock.rs}}
|
{{#include ../../../../examples/lock.rs}}
|
||||||
|
@ -90,7 +90,7 @@ $ cargo run --example lock
|
||||||
расположен в отдельном ресурсе; `UART0` владеет ресурсом произодителя, а `idle`
|
расположен в отдельном ресурсе; `UART0` владеет ресурсом произодителя, а `idle`
|
||||||
владеет ресурсом потребителя.
|
владеет ресурсом потребителя.
|
||||||
|
|
||||||
[`Queue`]: ../../api/heapless/spsc/struct.Queue.html
|
[`Queue`]: ../../../api/heapless/spsc/struct.Queue.html
|
||||||
|
|
||||||
``` rust
|
``` rust
|
||||||
{{#include ../../../../examples/late.rs}}
|
{{#include ../../../../examples/late.rs}}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
планируется, момент ([`Instant`]), в который задачу нужно запустить, нужно передать
|
планируется, момент ([`Instant`]), в который задачу нужно запустить, нужно передать
|
||||||
как первый аргумент вызова `schedule`.
|
как первый аргумент вызова `schedule`.
|
||||||
|
|
||||||
[`Instant`]: ../../api/rtfm/struct.Instant.html
|
[`Instant`]: ../../../api/rtfm/struct.Instant.html
|
||||||
|
|
||||||
Рантайм RTFM включает монотонный, растущий только вверх, 32-битный таймер,
|
Рантайм RTFM включает монотонный, растущий только вверх, 32-битный таймер,
|
||||||
значение которого можно запросить конструктором `Instant::now`. Время ([`Duration`])
|
значение которого можно запросить конструктором `Instant::now`. Время ([`Duration`])
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
значение `Instant(0 /* циклов тактовой частоты */)`; таймер включается сразу перед
|
значение `Instant(0 /* циклов тактовой частоты */)`; таймер включается сразу перед
|
||||||
включением прерываний и запуском `idle`.
|
включением прерываний и запуском `idle`.
|
||||||
|
|
||||||
[`Duration`]: ../../api/rtfm/struct.Duration.html
|
[`Duration`]: ../../../api/rtfm/struct.Duration.html
|
||||||
|
|
||||||
В примере ниже две задачи планируются из `init`: `foo` и `bar`. `foo` -
|
В примере ниже две задачи планируются из `init`: `foo` и `bar`. `foo` -
|
||||||
запланирована на запуск через 8 миллионов тактов в будущем. Кроме того, `bar`
|
запланирована на запуск через 8 миллионов тактов в будущем. Кроме того, `bar`
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# Введение
|
# Введение
|
||||||
|
|
||||||
Эта книга содержит документацию уровня пользователя фреймворком Real Time For the Masses
|
Эта книга содержит документацию уровня пользователя фреймворком Real Time For the Masses
|
||||||
(RTFM). Описание API можно найти [здесь](../api/rtfm/index.html).
|
(RTFM). Описание API можно найти [здесь](../../api/rtfm/index.html).
|
||||||
|
|
||||||
{{#include README_RU.md:5:44}}
|
{{#include README_RU.md:5:44}}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue