質問編集履歴
1
Arduinoのソースコードを追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,6 +52,77 @@
|
|
52
52
|
(以下略)
|
53
53
|
```
|
54
54
|
|
55
|
+
Arduino側のソースコードは以下のコードです。
|
56
|
+
```Arduino
|
57
|
+
char data[128];
|
58
|
+
int count=0;
|
59
|
+
float a[4];
|
60
|
+
char*tp;
|
61
|
+
int flag=0;
|
62
|
+
int i;
|
63
|
+
|
64
|
+
void reset_arr();
|
65
|
+
|
66
|
+
void setup() {
|
67
|
+
// put your setup code here, to run once:
|
68
|
+
Serial.begin(9600);
|
69
|
+
memset(data,'\0',128);
|
70
|
+
}
|
71
|
+
|
72
|
+
void loop() {
|
73
|
+
// put your main code here, to run repeatedly:
|
74
|
+
while (Serial.available() > 0){
|
75
|
+
data[count]=Serial.read();
|
76
|
+
if(data[count]=='/' || data[count]=='\0'){
|
77
|
+
data[count]='\0';
|
78
|
+
count=0;
|
79
|
+
break;
|
80
|
+
}
|
81
|
+
else if(count>=127){
|
82
|
+
count=0;
|
83
|
+
break;
|
84
|
+
}
|
85
|
+
else {
|
86
|
+
count++;
|
87
|
+
}
|
88
|
+
delayMicroseconds(1025); //1.025[ms]
|
89
|
+
}
|
90
|
+
|
91
|
+
if( (strstr(data,"start")) != NULL){
|
92
|
+
Serial.println("ok go");
|
93
|
+
flag=1;
|
94
|
+
reset_arr();
|
95
|
+
}
|
96
|
+
|
97
|
+
else if( (strstr(data,",")) != NULL){
|
98
|
+
for(i=0;i<4;i++){
|
99
|
+
if(i==0){
|
100
|
+
a[i]=atof( strtok(data,",") );
|
101
|
+
}
|
102
|
+
else {
|
103
|
+
a[i]=atof( strtok(NULL,",") );
|
104
|
+
}
|
105
|
+
Serial.println(a[i]);
|
106
|
+
}
|
107
|
+
|
108
|
+
Serial.println("end");
|
109
|
+
flag=0;
|
110
|
+
reset_arr();
|
111
|
+
}
|
112
|
+
|
113
|
+
else if(data[0]!='\0'){
|
114
|
+
Serial.println("error");
|
115
|
+
reset_arr();
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
119
|
+
void reset_arr(){
|
120
|
+
for(i=0;i<sizeof(data);i++){
|
121
|
+
data[i]='\0';
|
122
|
+
}
|
123
|
+
}
|
124
|
+
```
|
125
|
+
|
55
126
|
###試したこと
|
56
127
|
baudrateの値を変えてみたり、parityなどのオプション(?)も設定したりしたが変わらなかった。
|
57
128
|
baudrateの値はArduino と揃えてある。
|