CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 8941|回复: 3

android_serialport_api无法接收数据问题

[复制链接]
发表于 2013-8-16 21:59:41 | 显示全部楼层 |阅读模式
  从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[64];
                                       
                                        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();
证明已经启动,数据接收线程了!
  




回复

使用道具 举报

发表于 2013-8-19 12:15:15 | 显示全部楼层

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

第2.3步骤决定了你能否接收到pc发的信息!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-19 12:56:25 | 显示全部楼层
问题解决, 在发送字符结束时,一定要发送0x0A,否则size = mInputStream.read(buffer);
一直等下去,直到天塃地老!!!
回复 支持 反对

使用道具 举报

发表于 2014-7-18 13:49:11 | 显示全部楼层
cbandroid 发表于 2013-8-19 12:56
问题解决, 在发送字符结束时,一定要发送0x0A,否则size = mInputStream.read(buffer);
一直等下去,直到天塃 ...

你是不是用  串口0是, 在发送哦 ,收不到pc 端的数据 ,我现在情况和你一样 也是收不到数据,但是我换了一个开发板,用的是其他的串口  收发数据就ok了,,现在 自己编译的包,怎么 改把他的串口开启呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-26 02:32 , Processed in 0.021619 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部