ID非公開

2022/6/29 12:32

33回答

Arduinoのプログラムについてです。 void loop(){ digitalWrite(G_LED,HIGH); //緑LEDが点灯 delay(1000); //1秒待つ

プログラミング | C言語関連61閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

ThanksImg質問者からのお礼コメント

詳細アドバイス及びスケッチ例までありがとうございました! もう一度学びなおして理解を深めたいと思います。 今回はスケッチ例を書いてくださったnac_tnkさんをベストアンサーとします。

お礼日時:7/2 9:19

その他の回答(2件)

1

この書き方だと、機能を追加するたびに、同じコードを3つずつ書く羽目になって、手間がかかるだけでなく、バグが発生するリスクも増えます。 例えば、ポート番号を配列に入れておいて、その添え字の値で指示されたポートのLEDを点灯させるようにすれば、例えば3つを順に点灯させるプログラムは、3回繰り返すループで簡単に書けるようになります。 ついでに、ポート番号だけでなく点灯時間のテーブルも作っておけば、「緑を2秒、黄色を1秒、赤を3秒」なんていうこともできて、点灯パターンを変更したり、LEDの数を変えたいときなど、プログラムロジックに手を加えないで、テーブルの変更だけで済むから、無駄なデバッグ時間が不要になります。 プログラムが大きくなってから変更するのは大変だから、なるべく小さいうちに、汎用性のあるコードに改めることをお勧めします。

1人がナイス!しています

0

>void loop()内のプログラムを手動で一つずつ実行 論理回路などの教科書を購入して状態遷移図を学びます。 第4回 「状態遷移図」と「状態遷移表」で見えるもの:上流工程で効く,「テストの考え方」|gihyo.jp … 技術評論社 https://gihyo.jp/dev/serial/01/test_up/0004 Arduinoと状態遷移表とステートマシーン: あやの http://maison-dcc.sblo.jp/article/187908811.html タクトスイッチ一つで状態を切り替える - プログラミング素人のはてなブログ https://s51517765.hatenadiary.jp/entry/2015/11/18/000000