main

Attribute Macro main 

#[main]
Expand description

Creates a new executor instance and declares an application entry point for an unspecified architecture, spawning the corresponding function body as an async task.

The following restrictions apply:

  • The function must accept exactly 1 parameter, an embassy_executor::Spawner handle that it can use to spawn additional tasks.
  • The function must be declared async.
  • The function must not use generics.
  • Only a single main task may be declared.

A user-defined entry macro and executor type must be provided via the entry and executor arguments of the main macro.

ยงExamples

Spawning a task:

#[embassy_executor::main(entry = "your_hal::entry", executor = "your_hal::Executor")]
async fn main(_s: embassy_executor::Spawner) {
    // Function body
}