質問編集履歴
3
追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
下記のようにSerialをセットアップして、もし何かを受信した場合メッセージを返答するプログラムを作成しようとしたとき。
|
2
2
|
シリアルモニタ接続時にsetupのSerial.plintlnの前にloopのSerial.available()内のSerial.plintlnが途中まで紛れ込んでしまいます。
|
3
|
+
tes?が入力されて100ms秒後にSerial OKが書かれてました。
|
3
4
|
シリアルモニタ接続後にリセットを掛けた場合、この現象が起きないのは確認したのですが、リセットを行わずに接続時にSerial.available()を反応させないためにはどのような対処をすればよいでしょうか?
|
4
5
|
|
5
6
|
```Arduino
|
2
追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
下記のようにSerialをセットアップして、もし何かを受信した場合メッセージを返答するプログラムを作成しようとしたとき。
|
2
|
+
シリアルモニタ接続時にsetupのSerial.plintlnの前にloopのSerial.available()内のSerial.plintlnが途中まで紛れ込んでしまいます。
|
2
|
-
シリアルモニタ接続
|
3
|
+
シリアルモニタ接続後にリセットを掛けた場合、この現象が起きないのは確認したのですが、リセットを行わずに接続時にSerial.available()を反応させないためにはどのような対処をすればよいでしょうか?
|
3
4
|
|
4
5
|
```Arduino
|
5
6
|
|
@@ -21,4 +22,32 @@
|
|
21
22
|
###########結果###############
|
22
23
|
10:37:56.717 -> tes⸮Serial OK
|
23
24
|
|
25
|
+
```
|
26
|
+
|
27
|
+
|
28
|
+
また、下記のようにloop内にdelayを挟んだところ、正常な応答が得られましたので、
|
29
|
+
・接続時に何かしらデータが入り、if (Serial.available() > 0)を実行する
|
30
|
+
・Serial.println("testmess");送信中にsetupが割り込み、送信が中断される
|
31
|
+
・中断されて改行が入っていないのでその続きでSerial.println("Serial OK");が書かれる
|
32
|
+
の流れだと思うのですが、Delayでは安定性に不安が残りますし、なにより初回接続時以外は完全に無駄です。何かほかに対処法はないでしょうか?
|
33
|
+
|
34
|
+
```Arduino
|
35
|
+
|
36
|
+
|
37
|
+
void setup() {
|
38
|
+
Serial.begin(115200);
|
39
|
+
Serial.setTimeout(10);
|
40
|
+
delay(100);
|
41
|
+
Serial.println("Serial OK");
|
42
|
+
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
void loop() {
|
48
|
+
if (Serial.available() > 0) {
|
49
|
+
delay(1);
|
50
|
+
Serial.println("testmess");
|
51
|
+
}
|
52
|
+
}
|
24
53
|
```
|
1
文法の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ArduinoでSerialを接続した時にSerial.available()が反応してしま
|
1
|
+
ArduinoでSerialを接続した時にSerial.available()が反応してしまっている
|
body
CHANGED
File without changes
|