就感觉ReadThread进程没有跑下去。 代码如下: private class ReadThread extends Thread { @Override
public void run() {
super.run();
while(!isInterrupted()) {
int size;
try {
byte[] buffer = new byte[300];
Log.d(TAG, "----ReadThread start----");
if (mInputStream == null) 
{
return;
}
Log.d(TAG, "----read(buffer)----");
size = mInputStream.read(buffer);
Log.d(TAG, "----size----" + String.valueOf(size));
if (size > 0) {
Log.d(TAG, "----ReadThread size>0----");
onDataReceived(buffer, size);
}
} catch (IOException e) {
Log.d(TAG, "----ReadThread printStackTrace----");
e.printStackTrace();
return;
}
}
}
}
通过adb 查看log,前面两个log都打印出来了,
第三个 “Log.d(TAG, "----size----" + String.valueOf(size));” 就没有打印出来,后面几个log也没有打印出来。
希望知道的,做过的,高手们指点。
谢谢!

解决方案 »

  1.   

    也就是说你机子的串口 TX是可用的 但RX不能用 ,你去看下对应串口的内核配置,有没问题,看看datasheet
      

  2.   

    启动我的终端设备,PC串口能看到启动信息等log。终端设备android 系统启动好了,PC串口 输入“ls”,“cd” 等命令都可以。当进入该apk程序后,点第二个button “Console”,则PC串口不能输入任何东西了,但是还能接收终端设备的信息。
    真不知道为什么,求高手教教我。谢谢
      

  3.   

    编码的问题可能会照成你接收不到数据,将编码改成utf-8
      

  4.   

    估计是终端这边还有其他进程打开并读取了/dev/ttyS2设备。
      

  5.   

    楼主 一定要帮我看看我的问题。
    http://www.eoeandroid.com/thread-182339-1-1.html
      

  6.   

    楼主你的问题解决了没有?我的也一样就是读不到数据,PC机往arm上发送可以,但是arm上发过来不行,不知道为啥!求帮助!~
      

  7.   

    你的android设备是开发板吗?
    你要将你的串口设备ttySX   port设置正确,同时要在你的init.rc文件中,给你的这些ttySX 附上权限,如下:
    chmod  0666  /dev/ttyS1关键就是这步!
      

  8.   

    嗯嗯  这些都处理好了,能够发数据,就是接受不到数据!~~~
    用Google给的那个官方例子也接受不到数据!~~
      

  9.   

    呵呵,后来我直接用板子发了,没有接受了,怎么都接受不到,就卡在那个read函数那里过不去了,现在复习考试了,没弄了!呵呵,不好意思,帮不了你了!
      

  10.   

    你也丢失?我也丢失字符。解决了么。我倒是不丢失,用模拟器,短接tx和rx,发啥收啥。但是如果一下子发很多,每个1s发一串,总共发10串数,得发完才收的到,难道readthread不是一直在收吗
      

  11.   

    我发的数据缺胳膊少腿的,我发个 helloword下去,应该就不是编码问题了吧,收到后解析 出来 一堆乱码,我发现少了字节数啊
      

  12.   

    串口的 GND RXD TXD 5V 这4跟对应的线要插稳 插紧 然后重启 串口工具
      

  13.   

    size = mInputStream.read(buffer);
    Log.d(TAG, "----size----" + String.valueOf(size));
    关于那个“size”,打印出来时多少啊,我打印出来经常是4!
    我现在测试遇到一个问题,我需要从串口获取gps数据,不知道为什么android端从串口接收数据只接收一部分,另外一部分不知道去哪了,有遇到这种情况的吗?
      

  14.   

    你也丢失?我也丢失字符。解决了么。我倒是不丢失,用模拟器,短接tx和rx,发啥收啥。但是如果一下子发很多,每个1s发一串,总共发10串数,得发完才收的到,难道readthread不是一直在收吗你的代码是怎样写的啊,我是在测试板上做串口通信的,老是出现数据丢失,不知道什么原因
      

  15.   

    我现在也遇到这个问题,android端从串口接收数据会丢失一部分,请问你是怎样解决的啊
      

  16.   

    请问楼主是使用 官方提供的串口API进行串口通讯的嘛?
      

  17.   

    你也丢失?我也丢失字符。解决了么。我倒是不丢失,用模拟器,短接tx和rx,发啥收啥。但是如果一下子发很多,每个1s发一串,总共发10串数,得发完才收的到,难道readthread不是一直在收吗你的代码是怎样写的啊,我是在测试板上做串口通信的,老是出现数据丢失,不知道什么原因波特率、校验要确定好,开发板到底支持什么。是否有接触不良?还有开发板是用的RS232的接口,还是USB转RS232的?