⑤main関数

このコード部分の話

#[rp2040_hal::entry]
fn main() -> !{
    ...
}

main関数

Rustはmain.rsの中に記載されているmain関数がはじめに呼ばれる関数です。 他の関数は、このmain関数から呼ばれたりmain関数が読んだ関数がまた次の関数を呼ぶことで呼ばれるようになります。

ちなみにWindowsやMacなどのOS上で動作するアプリを作成する際のmain関数の場合は次の通りです。

fn main{
    ...
}

これに比べるとRP2040のmain関数は#[rp2040_hal::entry]があったり、-> !があります。

#[rp2040_hal::entry]

#[rp2040_hal::entry]の次の関数をRP2040のプログラムのmain関数として扱うことができます。

-> !

!は値を返さない関数であることを示しています。 つまり、永遠にreturnをしないと言うことを明示しています。