回答編集履歴

1

回答に追記

2021/06/24 14:56

投稿

y_waiwai
y_waiwai

スコア88042

test CHANGED
@@ -1,3 +1,47 @@
1
1
  このコードはどこに書かれてるもんでしょうか。
2
2
 
3
3
  関数にも入ってないし、どういうふうに実行されるものかわかりません
4
+
5
+
6
+
7
+ ---
8
+
9
+ 回答じゃありませんが、まずいところを述べておきます
10
+
11
+
12
+
13
+ 1.
14
+
15
+ > float st = millis();
16
+
17
+
18
+
19
+ mills関数の戻り値はfloatじゃありません。unsigned longです
20
+
21
+
22
+
23
+ 2.
24
+
25
+ で、ここで float st= と変数定義を行ってますが、変数は定義をした{}内でしか有効ではありません
26
+
27
+ > int flag = 0;
28
+
29
+ float st,
30
+
31
+ t;
32
+
33
+
34
+
35
+ で定義してるstと、millisの代入してるstとは別の変数となります
36
+
37
+
38
+
39
+ 3.
40
+
41
+ んでもひとつ、関数の中で定義される変数は、その関数が終わると消滅します。
42
+
43
+ なので、flagという変数は、loop関数が実行されるとき、常に0となってます
44
+
45
+
46
+
47
+ 関数から抜けて消滅してもらっては困る変数は、グローバル変数としましょう