②use宣言

このコード部分の話

use defmt::*;
use defmt_rtt as _;
use panic_probe as _;
use rp2040_hal as hal;

use hal::pac;

use embedded_hal::delay::DelayNs;
use embedded_hal::digital::OutputPin;

use

大雑把に言えば「use=ライブラリ(クレート)宣言の省略」です。 以降、その意味についてと利用の仕方について説明します。

他の言語だと外部のライブラリの呼び出しはincludeimportといった宣言したりします。 Rustは、これらのライブラリ呼び出し宣言をせずとも、クレート名::利用したい関数(例:cortex_m::delay::Delay::new())といったように::を利用すれば参照したいクレート(ライブラリ)の関数を呼び出すことができます。

しかし、これの欠点は::で繋いでいくと文字数が増えて読みづらくなることです。 そこで、useの出番です。 useを利用すれば、先頭の単語を省略して関数等を利用できます。

useの詳細は、こちらのページに記載しています。