我希望通过串口从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");
}
答案 0 :(得分:0)
您没有在问题中提供相关信息:如何设置InputStream
?
但是你的代码显示出一些缺陷:
mInputStream.read(bbuffer);
InputStream.read
的一般合同是,您必须还检查read
的返回值。如果read
返回零或负数,则bbuffer
的内容不会受到影响。
新例外(“Arduino-Board antwortet nicht!Timeout !!”);
您只能创建新的异常,但不要抛弃它。您必须将throw
添加到该行。