我想通过串行端口从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");
}
最佳答案
您没有在问题中提供相关信息:如何设置InputStream
?
但是您的代码仍然存在一些缺陷:
mInputStream.read(bbuffer);InputStream.read
的一般约定是,还必须检查read
的返回值。如果read
返回零或负数,则bbuffer
的内容保持不变。
新的异常(“ Arduino板antwortet nicht!超时!”);
您仅创建一个新异常,但不抛出该异常。您必须在该行中添加throw
。