ループ処理したい(loop

void loop() {
    // メイン処理ループ
}

loop関数は、Arduinoを初期化したあとに繰り返し実行される特殊な関数です。 ボードを使って実現したいメインの処理はすべてこのloop関数の中に定義します。

ArduinoではC/C++言語が利用できます。 ループ内の処理を関数化/モジュール化して整理できます。

Tip

Arduinoの開発環境にArduino IDEとPlatformIOがあります。

複数ファイルに分けてモジュール化したい場合は、PlatformIO の利用をオススメします。

Arduino IDEではスケッチファイルが1つのディレクトリで管理されるため、大規模なプロジェクトではPlatformIOの方が構造的に整理しやすいです。

注釈

Arduino環境のloop()関数は、FreeRTOS上のタスクとして実行されるそうです。 タスクがデフォルトで1msごとに呼ぶだされる設定(tick=1ms)となっています。 そのため、loop()自体は最速で1ms周期(+1-3msのゆらぎ)で呼び出されます。

ただし、loop()内に時間がかかる処理がある場合は、そこで律速し、 その処理が終了するまで次のloop()呼び出しが待たされることになります。

また、loop()内の処理速度はマイコンのCPUクロックに依存します。 ESP32のCPUは240MHzなので、1msで240000クロック分の処理が可能です。