Arduino Pro mini 同士でSoftwareSerialを用いてシリアル通信をしようとしています.
具体的にはarduino(a)からsoftwareserialで適当な値を送り,それをarduino(b)のsoftwareserialで読み取り,hardwareserialでserial.printをしてシリアルポートで同じ値を確認できたらOKとします.
回路の状況としては,(a)は(RX, TX)=(2,5),(b)は(RX, TX)=(4,3)でGND同士を繋いでいます.
ソースコードを簡単に書くと,
(a)は,
byte data[]={
(byte)(360),// heading
(byte)(360>>8),// heading
(byte)(480),// roll
(byte)(480>>8),// roll
(byte)(240),// pitch
(byte)(240>>8),// pitch
(byte)(120),// depth
(byte)(120>>8),// depth
};
mySerial.write(data,8);
で適当な値を送り,
(b)は,
if ( mySerial.available() > 0 ) {
low[0] = Serial.read(); // 下位バイトの読み取り
high[0] = Serial.read(); // 上位バイトの読み取り
low[1] = Serial.read(); // 下位バイトの読み取り
high[1] = Serial.read(); // 上位バイトの読み取り
low[2] = Serial.read(); // 下位バイトの読み取り
high[2] = Serial.read(); // 上位バイトの読み取り
low[3] = Serial.read(); // 下位バイトの読み取り
high[3] = Serial.read(); // 上位バイトの読み取り
}
Serial.print(low[0]);
Serial.print(" ");
Serial.println(high[0]);
でとりあえず一つの値の上位,下位バイトを確認しているのですが,どちらも-1が表示され理想の値が出力されません.
ここまでで何かおかしなことはありますでしょうか?
どうしても詰まってしまいご協力を依頼します.
何卒よろしくお願いします.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。