android串口api读数据问题

时间:2014-05-28 20:21:36

标签: android serial-port

我正在尝试从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;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

事实证明我连接到调试端口,这就是连接存在缺陷的原因。我现在将Android设备上的rs232端口连接到终端,一切都完美无缺