質問編集履歴

3

追加

2021/10/20 04:29

投稿

NKJSM
NKJSM

スコア58

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  下記のようにSerialをセットアップして、もし何かを受信した場合メッセージを返答するプログラムを作成しようとしたとき。
2
2
 
3
3
  シリアルモニタ接続時にsetupのSerial.plintlnの前にloopのSerial.available()内のSerial.plintlnが途中まで紛れ込んでしまいます。
4
+
5
+ tes?が入力されて100ms秒後にSerial OKが書かれてました。
4
6
 
5
7
  シリアルモニタ接続後にリセットを掛けた場合、この現象が起きないのは確認したのですが、リセットを行わずに接続時にSerial.available()を反応させないためにはどのような対処をすればよいでしょうか?
6
8
 

2

追加

2021/10/20 04:29

投稿

NKJSM
NKJSM

スコア58

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  下記のようにSerialをセットアップして、もし何かを受信した場合メッセージを返答するプログラムを作成しようとしたとき。
2
2
 
3
+ シリアルモニタ接続時にsetupのSerial.plintlnの前にloopのSerial.available()内のSerial.plintlnが途中まで紛れ込んでしまいます。
4
+
3
- シリアルモニタ接続時にsetupのSerial.plintlnの前にloopのSerial.available()内のSerial.plintlnが途中まで紛れ込んでしまいます。シリアルモニタ接続後にリセットを掛けた場合、この現象が起きないのは確認したのですが、リセットを行わずに接続時にSerial.available()を反応させないためにはどのような対処をすればよいでしょうか?
5
+ シリアルモニタ接続後にリセットを掛けた場合、この現象が起きないのは確認したのですが、リセットを行わずに接続時にSerial.available()を反応させないためにはどのような対処をすればよいでしょうか?
4
6
 
5
7
 
6
8
 
@@ -45,3 +47,59 @@
45
47
 
46
48
 
47
49
  ```
50
+
51
+
52
+
53
+
54
+
55
+ また、下記のようにloop内にdelayを挟んだところ、正常な応答が得られましたので、
56
+
57
+ ・接続時に何かしらデータが入り、if (Serial.available() > 0)を実行する
58
+
59
+ ・Serial.println("testmess");送信中にsetupが割り込み、送信が中断される
60
+
61
+ ・中断されて改行が入っていないのでその続きでSerial.println("Serial OK");が書かれる
62
+
63
+ の流れだと思うのですが、Delayでは安定性に不安が残りますし、なにより初回接続時以外は完全に無駄です。何かほかに対処法はないでしょうか?
64
+
65
+
66
+
67
+ ```Arduino
68
+
69
+
70
+
71
+
72
+
73
+ void setup() {
74
+
75
+ Serial.begin(115200);
76
+
77
+ Serial.setTimeout(10);
78
+
79
+ delay(100);
80
+
81
+ Serial.println("Serial OK");
82
+
83
+
84
+
85
+ }
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+ void loop() {
94
+
95
+ if (Serial.available() > 0) {
96
+
97
+ delay(1);
98
+
99
+ Serial.println("testmess");
100
+
101
+ }
102
+
103
+ }
104
+
105
+ ```

1

文法の修正

2021/10/20 04:13

投稿

NKJSM
NKJSM

スコア58

test CHANGED
@@ -1 +1 @@
1
- ArduinoでSerialを接続した時にSerial.available()が反応してしま
1
+ ArduinoでSerialを接続した時にSerial.available()が反応してしまっている
test CHANGED
File without changes