【发布时间】:2017-07-07 16:31:28
【问题描述】:
我正在尝试从连接到蓝牙模块的称重机中读取值(M143 RS232 Bluetooth Serial Adapter 从eBay 购买)。我能够连接设备并且得到Socket 对象。但是InputStream 是阻塞并且无法从流中读取数据(inputstream.available() 始终返回零)。当我向OutputStream 写入内容时没有问题。我尝试使用 BufferedReader 但没有更改。以下是我尝试过的代码。
InputStream inputStream = socket.getInputStream();
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line).append('\n');
}
//code is not reaching here it is blocking in the while loop
if(outputStream!=null){
outputStream.flush();
outputStream.close();
}
【问题讨论】:
-
可能您的设备没有发送“线路”。什么是尝试使用
r.read()读取单个字节?也许设备协议中有一些特殊的东西...... -
我也试过 r.read(),但同样的事情正在发生
-
@PeterMmm为什么会这样?
-
可能是因为设备没有发送任何数据?
-
我尝试通过连接RS232 to USB converter将称重机连接到PC并使用RS232 Data Logger软件正确打印称重机的值。
标签: android bluetooth serial-port