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>2021-12-21 19:02:49 +0000
committerGitHub <noreply@github.com>2021-12-21 19:02:49 +0000
commitc78177c37e3192c7a41a3ea8e7c139751c1a8989 (patch)
treed5092fa9f154994c27f710f3ec4cacdb651fd96d /book/en/src/by-example/app_task.md
parent37facfb5bf9aca11c43868cb8880b12b9f6b336a (diff)
parente249813ad7a5670dd9a1a70d46b72aa02ce4dce0 (diff)
Merge #563
563: Docs touchup r=korken89 a=AfoHT Unleashed some language linters on the book Co-authored-by: Henrik Tjäder <henrik@grepit.se> Co-authored-by: perlindgren <per.lindgren@ltu.se>
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, 13 insertions, 2 deletions
diff --git a/book/en/src/by-example/app_task.md b/book/en/src/by-example/app_task.md
index a5c8b17..9716004 100644
--- a/book/en/src/by-example/app_task.md
+++ b/book/en/src/by-example/app_task.md
@@ -1,7 +1,18 @@
# Defining tasks with `#[task]`
-Tasks, defined with `#[task]`, are the main mechanism of getting work done in RTIC. Every task can be spawned, now or later, be sent messages (message passing) and be given priorities for preemptive multitasking.
+Tasks, defined with `#[task]`, are the main mechanism of getting work done in RTIC.
-There are two kinds of tasks, software tasks and hardware tasks, and the difference is that hardware tasks 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 the UART's RX interrupt the task will run every time a character is received.
+Tasks can
+
+* Be spawned (now or in the future)
+* Receive messages (message passing)
+* 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.
In the coming pages we will explore both tasks and the different options available.