cbandroid 发表于 2013-8-16 21:59:41

android_serialport_api无法接收数据问题

从http://code.google.com/p/android-serialport-api/下载的代码,
CB端可以发送数据了.
CB发送,PC接收, OK.
但是PC发送, CB端接收到数据.也就是没有进入到
protected void onDataReceived(byte[] buffer, int size),
不知道原因.

使用该API的,都有遇到过这样的情况吗?

是不是下面的代码有问题
private class ReadThread extends Thread {

                @Override
                public void run() {
                        super.run();
                        while(!isInterrupted()) {
                                int size;
                                try {
                                        byte [] buffer = new byte;
                                       
                                        if (mInputStream == null) return;
                                        size = mInputStream.read(buffer);
                                        if (size > 0) {
                                                Toast.makeText(SerialPortActivity.this,"onDataReceived", Toast.LENGTH_LONG).show();
                                                onDataReceived(buffer, size);
                                        }
                                       
                                } catch (IOException e) {
                                        e.printStackTrace();
                                        DisplayErrorMessage(e.getMessage());
                                        return;
                                }
                        }
                }
        }

其次,在SerialPortActivity.java 里的onCreate里面,有下面的代码                        // Create a receiving thread
                        mReadThread = new ReadThread();
                        mReadThread.start();
证明已经启动,数据接收线程了!





f839903061 发表于 2013-8-19 12:15:15

:)
你要确保对照给你的数据手册,修改sys_config.fex文件
对于的pin是否填写正确
总结:
1.查看电路图,找到txrx线,不要连接错了
2.对照pin_value表,看看你上面找到的两个pin的UART?_RX    TX是几(0 1 2 3)
3.根据上面的值,修改sys_config.fex里面的uart_para的参数
4.修改init.???.rc文件,给你要的端口添加0666权限

第2.3步骤决定了你能否接收到pc发的信息!

cbandroid 发表于 2013-8-19 12:56:25

问题解决, 在发送字符结束时,一定要发送0x0A,否则size = mInputStream.read(buffer);
一直等下去,直到天塃地老!!!

浩-Tux 发表于 2014-7-18 13:49:11

cbandroid 发表于 2013-8-19 12:56 static/image/common/back.gif
问题解决, 在发送字符结束时,一定要发送0x0A,否则size = mInputStream.read(buffer);
一直等下去,直到天塃 ...

你是不是用串口0是, 在发送哦 ,收不到pc 端的数据 ,我现在情况和你一样 也是收不到数据,但是我换了一个开发板,用的是其他的串口收发数据就ok了,,现在 自己编译的包,怎么 改把他的串口开启呢
页: [1]
查看完整版本: android_serialport_api无法接收数据问题