ループ処理したい(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クロック分の処理が可能です。