aboutsummaryrefslogtreecommitdiff
path: root/book/en/src/by-example/app_task.md
diff options
context:
space:
mode:
authorEmil Fresk <emil.fresk@gmail.com>2021-09-22 13:22:45 +0200
committerEmil Fresk <emil.fresk@gmail.com>2021-09-23 16:11:04 +0200
commitb71df58f2fb4ed85d4c8cf806d5837ce63c73f31 (patch)
treede4cbe4b43d399d4dcf2021c33225ccd00627434 /book/en/src/by-example/app_task.md
parentc8621d78b9b1c0c67dff31404ade873a9d7b426e (diff)
The great docs update
Diffstat (limited to 'book/en/src/by-example/app_task.md')
-rw-r--r--book/en/src/by-example/app_task.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/book/en/src/by-example/app_task.md b/book/en/src/by-example/app_task.md
new file mode 100644
index 0000000..a5c8b17
--- /dev/null
+++ b/book/en/src/by-example/app_task.md
@@ -0,0 +1,7 @@
+# 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.
+
+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.
+
+In the coming pages we will explore both tasks and the different options available.