我正在尝试从Windows机器上的终端客户端到Android驱动设备之间的rs232串口连接中读取数据。我能够通过设备轻松地将数据发送到终端,但是当我尝试将数据从终端发送到我的Android设备时,我随机丢失了一些内容。此外,我必须在键盘上键入两次键才能发送“a”,我必须在键盘上按两次“a”。
我正在使用此链接的源代码。 https://code.google.com/p/android-serialport-api/source/checkout
这是接收数据的代码。
@Override
protected void onDataReceived(final byte[] buffer, final int size) {
runOnUiThread(new Runnable() {
public void run() {
if (mReception != null) {
mReception.append(new String(buffer, 0, size));
}
}
});
以下是从另一个类调用onreceived的代码。
private class ReadThread extends Thread {
@Override
public void run() {
super.run();
while(!isInterrupted()) {
int size;
try {
byte[] buffer = new byte[64];
if (mInputStream == null) return;
size = mInputStream.read(buffer);
if (size > 0) {
onDataReceived(buffer, size);
}
} catch (IOException e) {
e.printStackTrace();
return;
}
}
}
}
答案 0 :(得分:0)
事实证明我连接到调试端口,这就是连接存在缺陷的原因。我现在将Android设备上的rs232端口连接到终端,一切都完美无缺