aboutsummaryrefslogtreecommitdiff
path: root/book/en/src/by-example/app_task.md
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2023-01-25 20:11:17 +0000
committerGitHub <noreply@github.com>2023-01-25 20:11:17 +0000
commita5e18cd5294870be824f90bdd1d586586c37a153 (patch)
tree0f9a7f77be32c1438582ccafcb45837fa949f38a /book/en/src/by-example/app_task.md
parent3240fb332a7b1b17333ac1c589b303909bde1dc9 (diff)
parent04189cc6844d7d43305a57464713defb5a46d85c (diff)
Merge #686
686: Book: Editorial review r=korken89 a=AfoHT Continuation of https://github.com/rtic-rs/cortex-m-rtic/pull/618 Better late than never... A big thanks to `@jvanderk` ! Co-authored-by: John van der Koijk <33966414+jvanderk@users.noreply.github.com>
Diffstat (limited to 'book/en/src/by-example/app_task.md')
-rw-r--r--book/en/src/by-example/app_task.md15
1 files changed, 9 insertions, 6 deletions
diff --git a/book/en/src/by-example/app_task.md b/book/en/src/by-example/app_task.md
index 9716004..d83f1ff 100644
--- a/book/en/src/by-example/app_task.md
+++ b/book/en/src/by-example/app_task.md
@@ -4,15 +4,18 @@ Tasks, defined with `#[task]`, are the main mechanism of getting work done in RT
Tasks can
-* Be spawned (now or in the future)
-* Receive messages (message passing)
-* Prioritized allowing preemptive multitasking
+* Be spawned (now or in the future, also by themselves)
+* Receive messages (passing messages between tasks)
+* Be prioritized, allowing preemptive multitasking
* Optionally bind to a hardware interrupt
RTIC makes a distinction between “software tasks” and “hardware tasks”.
-Hardware tasks are tasks that are bound to a specific interrupt vector in the MCU while software tasks are not.
-This means that if a hardware task is bound to an UART RX interrupt the task will run every
-time this interrupt triggers, usually when a character is received.
+*Hardware tasks* are tasks that are bound to a specific interrupt vector in the MCU while software tasks are not.
+
+This means that if a hardware task is bound to, lets say, a UART RX interrupt, the task will be run every
+time that interrupt triggers, usually when a character is received.
+
+*Software tasks* are explicitly spawned in a task, either immediately or using the Monotonic timer mechanism.
In the coming pages we will explore both tasks and the different options available.