回答編集履歴
2
プログラム中に余分な開き括弧が入っていたので修正した
answer
CHANGED
@@ -38,9 +38,9 @@
|
|
38
38
|
string stringData = ""; //結果の文字列を入れる変数
|
39
39
|
for (i=0; i<5, i++) {
|
40
40
|
if(i<4){ //最初の4つは、データの数字とカンマを追加する
|
41
|
-
stringData = stringData + _Floating_to_string(
|
41
|
+
stringData = stringData + _Floating_to_string("%f",anArray[i])+","; }
|
42
42
|
else{ //最後は、データの数字と改行文字列を追加する
|
43
|
-
stringData = stringData + _Floating_to_string(
|
43
|
+
stringData = stringData + _Floating_to_string("%f",anArray[i])+"\r\n";}
|
44
44
|
}
|
45
45
|
```
|
46
46
|
|
1
質問者の返事を受けて、コード例を追加した。
answer
CHANGED
@@ -21,4 +21,27 @@
|
|
21
21
|
なので、
|
22
22
|
・Arduino側で配列から文字列に変えて、raspberryに送る。
|
23
23
|
・raspberry側で文字列を受け取って、それを配列に戻す。
|
24
|
-
という作業が必要なのです。
|
24
|
+
という作業が必要なのです。
|
25
|
+
|
26
|
+
=補足:配列のデータを文字列に変えるコード=
|
27
|
+
|
28
|
+
回答でcsv形式の文字列と書いたのは、コンマ(",")でデータを区切った文字列で一群のデータ(1つの配列の内容)を表し、改行文字列("\r\n")でデータ群を区切るものを想定しています。
|
29
|
+
例えば、
|
30
|
+
```ここに言語を入力
|
31
|
+
float anArray[5] = {1.23, 2.38, -1.25, 4.12, 6.33};
|
32
|
+
```
|
33
|
+
という配列は、
|
34
|
+
"1.23,2.38,-1.25,4.12,6.33\r\n"という文字列にします。
|
35
|
+
|
36
|
+
配列から文字列を作るコードは、下記のような感じです。
|
37
|
+
```ここに言語を入力
|
38
|
+
string stringData = ""; //結果の文字列を入れる変数
|
39
|
+
for (i=0; i<5, i++) {
|
40
|
+
if(i<4){ //最初の4つは、データの数字とカンマを追加する
|
41
|
+
stringData = stringData + _Floating_to_string(("%f",anArray[i])+","; }
|
42
|
+
else{ //最後は、データの数字と改行文字列を追加する
|
43
|
+
stringData = stringData + _Floating_to_string(("%f",anArray[i])+"\r\n";}
|
44
|
+
}
|
45
|
+
```
|
46
|
+
|
47
|
+
raspberry側でこのような文字列を受信したら、改行文字の手前までを切り出して、それをカンマを区切り文字にしたsplit関数で配列にできます。
|