2

シリアルポート経由で Arduino から 1 (高) または 0 (低) のデジタルピン値を受け取りたいです。

次のコードでデータを読み取ることができません。

byte[] bbuffer = new byte[1];

try {
    mInputStream.read(bbuffer);
} 
catch (IOException e) {
    new Exception("Arduino-Board antwortet nicht! Timeout!!");
}

if (bbuffer[0] == (byte)1){
    PinValue.setText("HIGH");
}
else if (bbuffer[0] == (byte)0){
    PinValue.setText("LOW");
}
4

1 に答える 1

0

質問に関連情報を提供していません。どのようにセットアップしInputStreamますか?

ただし、コードにはいくつかの欠陥があります。

mInputStream.read(バッファ);

の一般的な契約では、 の戻り値チェックするInputStream.read必要があります。ゼロまたは負の数を返す場合、の内容は変更されません。readreadbbuffer

new Exception("Arduino-Board antwortet nicht! Timeout!!");

新しい例外を作成するだけで、スローしません。throwその行に追加する必要があります。

于 2012-08-09T08:26:52.770 に答える