From b71df58f2fb4ed85d4c8cf806d5837ce63c73f31 Mon Sep 17 00:00:00 2001 From: Emil Fresk Date: Wed, 22 Sep 2021 13:22:45 +0200 Subject: The great docs update --- book/en/src/by-example/app_task.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 book/en/src/by-example/app_task.md (limited to 'book/en/src/by-example/app_task.md') 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. -- cgit v1.2.3