###前提・実現したいこと
以下のソースコードに示すように、本文loop()の中でカウントが11になってから関数sendData()を呼び、関数sendData()の中を実行したいです。(関数sendData()の中にもシリアルモニタに出力する内容の文が書かれています)
(※関数sendData()の実行中は、本文loop()の実行を止めたい。というより通常止まっているはずだという認識です。)
ところが、以下のシリアルモニタ上の表示結果に示すように、本文loop()の内容をずっと繰り返し、関数sendData()の内容を一向に実行しないので、これを以下のように直したいです。
「関数sendData()が呼ばれると、関数sendData()の中身を実行し、本文loop()の実行は関数の実行文が完了するまで止まる。」
イメージと実際の挙動が大きく異なるため、何かアイデアや解決案などございましたらご教授お願いいたします。
###シリアルモニタ上の表示
1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11
###該当のソースコード
c
1void loop() { 2 i++; 3 delay(1000); 4 Serial.println(i); 5 if(i>10){ 6 sendData(); 7 i=0; 8 } 9} 10 11void sendData(){ 12 実行文;//(120行くらい) 13} 14
###補足情報(言語/FW/ツール等のバージョンなど)
Arduino IDE 1.8.0
Arduino M0 Pro
回答3件
あなたの回答
tips
プレビュー