teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答に追記

2018/08/10 15:50

投稿

y_waiwai
y_waiwai

スコア88180

answer CHANGED
@@ -4,4 +4,17 @@
4
4
  たとえば、データ開始を示す0xF0F8をつけて、
5
5
  受信側は、とにかく0xF0F8が来るまで読み飛ばし、それが来たら読み取りを開始、連続した10バイトを読み込むようにします。
6
6
 
7
- #受信がうまくいかないというのはべつのはなし
7
+ #受信がうまくいかないというのはべつのはなし
8
+
9
+ ---
10
+ それからよくみてみると、、
11
+ > if ( mySerial.available() > 0 ) {
12
+ low[0] = Serial.read(); // 下位バイトの読み取り
13
+ high[0] = Serial.read(); // 上位バイトの読み取り
14
+ low[1] = Serial.read(); // 下位バイトの読み取り
15
+
16
+ if ( mySerial.available() > 0 ) {
17
+ のチェックは一文字ごとに行ってください
18
+ あるいは、上記データ開始を認識してからなら、10バイト以上の判断としてください
19
+ #そのライブラリの受信バッファが何バイトあるかは見てないので知りませんが
20
+ シリアル通信は遅いので、1バイト受信ごとに受信完了をチェックする必要がありますね