質問編集履歴
3
実験結果を追記2
test
CHANGED
File without changes
|
test
CHANGED
@@ -130,7 +130,7 @@
|
|
130
130
|
|
131
131
|
|
132
132
|
|
133
|
-
***追記 2018/04/19***
|
133
|
+
***追記1 2018/04/19***
|
134
134
|
|
135
135
|
以下のソースを追記した所
|
136
136
|
|
@@ -193,3 +193,29 @@
|
|
193
193
|
出力結果
|
194
194
|
|
195
195
|
cmd:@test/A
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
***追記2 2018/04/19***
|
202
|
+
|
203
|
+
グローバル変数で結構な量を配列で定義していたものを一時的に減らした所
|
204
|
+
|
205
|
+
正常動作することを確認しました。
|
206
|
+
|
207
|
+
どうもこの辺りがあやしいのかもしれません。
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
ちなみにその時のコンパイル後のメッセージは
|
212
|
+
|
213
|
+
最大30720バイトのフラッシュメモリのうち、スケッチが19624バイト(63%)を使っています。
|
214
|
+
|
215
|
+
最大2048バイトのRAMのうち、グローバル変数が1166バイト(56%)を使っていて、ローカル変数で882バイト使うことができます。
|
216
|
+
|
217
|
+
となっていました。
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
もうちょっと調べてみようと思います。
|
2
実験結果を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -125,3 +125,71 @@
|
|
125
125
|
開発環境:Windows10 ArduinoIDE
|
126
126
|
|
127
127
|
Arduino pro mini 3.3V 8MHz
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
***追記 2018/04/19***
|
134
|
+
|
135
|
+
以下のソースを追記した所
|
136
|
+
|
137
|
+
やはりStringの結果が返ってきていないように見えます。
|
138
|
+
|
139
|
+
別のString変数 cmd に "@"、 str文字数、strの文字列、 "/A" を格納し
|
140
|
+
|
141
|
+
シリアルにて出力させてみたところ
|
142
|
+
|
143
|
+
strの文字数の部分のみ表示されませんでした。
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
```c
|
150
|
+
|
151
|
+
~略~
|
152
|
+
|
153
|
+
String cmd = "";
|
154
|
+
|
155
|
+
String str = "test";
|
156
|
+
|
157
|
+
String sLen = String( (int)str.length(), HEX);
|
158
|
+
|
159
|
+
if (sLen.length() == 1)
|
160
|
+
|
161
|
+
sLen = "0" + sLen;
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
Serial.print("sLen:");
|
166
|
+
|
167
|
+
Serial.println(sLen);
|
168
|
+
|
169
|
+
Serial.flush();
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
cmd += "@";
|
174
|
+
|
175
|
+
cmd += sLen;
|
176
|
+
|
177
|
+
cmd += str;
|
178
|
+
|
179
|
+
cmd += "/A";
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
debugSerial.print("cmd:");
|
184
|
+
|
185
|
+
debugSerial.println(cmd);
|
186
|
+
|
187
|
+
debugSerial.flush();
|
188
|
+
|
189
|
+
```
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
出力結果
|
194
|
+
|
195
|
+
cmd:@test/A
|
1
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -9,6 +9,8 @@
|
|
9
9
|
|
10
10
|
|
11
11
|
```c
|
12
|
+
|
13
|
+
~略~
|
12
14
|
|
13
15
|
String str = "test";
|
14
16
|
|
@@ -30,15 +32,21 @@
|
|
30
32
|
|
31
33
|
|
32
34
|
|
33
|
-
上記
|
35
|
+
上記プログラムを単体で動作させると正常に動作出来るのですが、
|
34
36
|
|
35
|
-
全く同じ
|
37
|
+
全く同じ文を今作成しているものに組み込むとString(val, base) の結果をprintしても何も表示されません。
|
38
|
+
|
39
|
+
(sLen:が出力される)
|
36
40
|
|
37
41
|
|
38
42
|
|
39
|
-
また
|
43
|
+
またsLenが何表示されないプログラム内の全く別のソースを一部削ると正常に動作します。
|
40
44
|
|
45
|
+
(sLen:04が出力される)
|
46
|
+
|
47
|
+
|
48
|
+
|
41
|
-
メモリーリーク等を疑っているのですが
|
49
|
+
このことからメモリーリーク等を疑っているのですが
|
42
50
|
|
43
51
|
何か確認できる方法はありますでしょうか。
|
44
52
|
|