回答編集履歴

2

プログラム中に余分な開き括弧が入っていたので修正した

2019/12/21 06:23

投稿

coco_bauer
coco_bauer

スコア6915

test CHANGED
@@ -78,11 +78,11 @@
78
78
 
79
79
  if(i<4){ //最初の4つは、データの数字とカンマを追加する
80
80
 
81
- stringData = stringData + _Floating_to_string(("%f",anArray[i])+","; }
81
+ stringData = stringData + _Floating_to_string("%f",anArray[i])+","; }
82
82
 
83
83
  else{ //最後は、データの数字と改行文字列を追加する
84
84
 
85
- stringData = stringData + _Floating_to_string(("%f",anArray[i])+"\r\n";}
85
+ stringData = stringData + _Floating_to_string("%f",anArray[i])+"\r\n";}
86
86
 
87
87
  }
88
88
 

1

質問者の返事を受けて、コード例を追加した。

2019/12/21 06:22

投稿

coco_bauer
coco_bauer

スコア6915

test CHANGED
@@ -45,3 +45,49 @@
45
45
  ・raspberry側で文字列を受け取って、それを配列に戻す。
46
46
 
47
47
  という作業が必要なのです。
48
+
49
+
50
+
51
+ =補足:配列のデータを文字列に変えるコード=
52
+
53
+
54
+
55
+ 回答でcsv形式の文字列と書いたのは、コンマ(",")でデータを区切った文字列で一群のデータ(1つの配列の内容)を表し、改行文字列("\r\n")でデータ群を区切るものを想定しています。
56
+
57
+ 例えば、
58
+
59
+ ```ここに言語を入力
60
+
61
+ float anArray[5] = {1.23, 2.38, -1.25, 4.12, 6.33};
62
+
63
+ ```
64
+
65
+ という配列は、
66
+
67
+ "1.23,2.38,-1.25,4.12,6.33\r\n"という文字列にします。
68
+
69
+
70
+
71
+ 配列から文字列を作るコードは、下記のような感じです。
72
+
73
+ ```ここに言語を入力
74
+
75
+ string stringData = ""; //結果の文字列を入れる変数
76
+
77
+  for (i=0; i<5, i++) {
78
+
79
+ if(i<4){ //最初の4つは、データの数字とカンマを追加する
80
+
81
+ stringData = stringData + _Floating_to_string(("%f",anArray[i])+","; }
82
+
83
+ else{ //最後は、データの数字と改行文字列を追加する
84
+
85
+ stringData = stringData + _Floating_to_string(("%f",anArray[i])+"\r\n";}
86
+
87
+ }
88
+
89
+ ```
90
+
91
+
92
+
93
+ raspberry側でこのような文字列を受信したら、改行文字の手前までを切り出して、それをカンマを区切り文字にしたsplit関数で配列にできます。