スケッチでの関数の定義方法と使用方法を学びます。
LAST REVISION: 2022/08/19 17:23
コードを関数に分割することで、プログラマはモジュール化されたコードを作成することができます。モジュールは、定義されたタスクを実行し、その関数が呼ばれた場所に戻ります。関数を作成する典型的な事例は、プログラム内で同一のことを複数回実行する必要があるときです。
BASICになれたプログラマにとっては、Arduinoでの関数はサブルーチン(BASICでのGOSUB)を提供し、さらに拡張します。
コードの断片を関数にすることはいくつかの利点があります。
- 関数はプログラマを組織化した状態にします。プログラムを概念化するのに役立ちます。
- 関数は一つのアクションを1か所にコード化するので、一度だけ考えデバッグすればいいです。
- コードの変更が必要な場合でも、修正時のエラーの混入の機会を削減します。
コードのセクションは何度も再利用されるので、関数はスケッチ全体を小さくコンパクトにすることができます。モジュール化をさらに進めることで、他のプログラムでの再利用性も高まります。さらに、関数を使うことでコードが読みやすくなります。Arduinoのスケッチでは、setup()とloop()という2つの関数が必要です。他の関数はこれら2つの関数の括弧({})の外で定義されます。例えば、2つの数字の積を求める簡単な関数を作ってみましょう。
我々の簡単なかけ算関数を呼ぶには、要求される型を持つパラメータを渡します。
|
|
関数は全ての関数の外側で定義する必要があります。このため、myMultiplyFunction()はloop()関数の前でも後でも定義することができます。
スケッチの全体像は以下のようになります。
|
|
他の例
この関数は、analogRead()を使ってセンサから5回値を読み、5回の読取の平均を計算します。次に、データを8ビット(0-255)に変換し、反転し、反転した値を返却します。
|
|
この関数を呼ぶには、単に変数に代入します。
|
|
見てわかるとおり、関数に引数が不要な場合でも、返り値がない場合でも、()と;が必要です。
オリジナルのページ
https://docs.arduino.cc/learn/programming/functions
最終更新日
November 25, 2022