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(bbuffer);

的一般合同InputStream.read是,您必须检查 的返回值read。如果read返回零或负数,则内容bbuffer不变。

新异常(“Arduino-Board antwortet nicht!超时!!”);

您只会创建一个新异常,但不会抛出它。您必须添加throw到该行。

于 2012-08-09T08:26:52.770 回答