恩,你要读什么设备的,蓝牙,gps,还是什么呢

解决方案 »

  1.   

    估计要去看LINUX下的支持方式,不一定能够像WINCE下面那样,等到RX-CHAR才去读。
      

  2.   

    还是自己来回答,原来是靠Linux的read函数自己就可以实现这个功能的,在设置串口的时候,设置最小的返回个数和超时就可以实现了。具体请参考:http://blog.csdn.net/freezgw1985/archive/2010/08/04/5789190.aspx
    (6)设置控制字符
           在非规范模式中,控制字符数组c_cc[]中的变量c_cc[VMIN]和c_cc[VTIME]用于设置read()返回前读到的最少字节数和读超时时间,其值分为四种情况:
        (a)c_cc[VMIN]>0,c_cc[VTIME]>0
              读到一个字节后,启动定时器,其超时时间为c_cc[VTIME],read()返回的条件为至少读到c_cc[VMIN]个字符或定时器超期。
        (b)c_cc[VMIN]>0, c_cc[VTIME] ==0
              只要读到数据的字节数大于等于c_cc[VMIN],则read()返回;否则,将无限期阻塞等待。
          (c)c_cc[VMIN] == 0, c_cc[VTIME]>0
              只要读到数据,则read()返回;若定时器超期(定时时间c_cc[VTIME])却未读到数据,则read()返回0;
          (d)c_cc[VMIN] == 0, c_cc[VTIME] == 0
              若有数据,则read()读取指定数量的数据后返回;若没有数据,则read()返回0;
    所以,当设置:c_cc[VMIN]=1, c_cc[VTIME] =0的时候,执行read函数,该函数就会自动阻塞,当串口有收到大于等于1个的字符的时候,该函数返回。
      

  3.   

    Android现在不是那么火么,怎么一个简单的问题,都没有人来回复呢,难道是我问错地方了??
      

  4.   

    顶相当不错,正准备了解ANDROID下的串口操作方式呢。
      

  5.   


    很多人刚开始入门,估计还在整底层LINUX那块呢。还来不及搞应用,像我!