主题 : android 读取串口GPS为0 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 64502
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2012-03-06
最后登录: 2012-03-21
楼主  发表于: 2012-03-21 14:14

 android 读取串口GPS为0

”/dev/s3c2410_serial2“连接的串口GPS模块
结果读出来的数据为0
代码贴出来
求解
private class Listener1 implements OnClickListener {

        public void onClick(View v) {

            int fd = HardwareControler.openSerialPort("/dev/s3c2410_serial2",
                    9600, 8, 1);
            int len = 10;
            byte[] buf = new byte[len];

            HardwareControler.read(fd, buf, len);
            StringBuffer s = new StringBuffer();
            int count = buf.length;
            for (int i = 0; i < count; i++) {

                s.append(buf【i】);
            }

            txtview.setText(s);
            HardwareControler.close(fd);
        }

读出的为10个0
用串口调试工具可以正确读到GPS模块数据,不知道我这么取哪有错误
级别: 新手上路
UID: 64502
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2012-03-06
最后登录: 2012-03-21
1楼  发表于: 2012-03-21 15:50

 回 楼主(y542811489) 的帖子

    int fd = HardwareControler.openSerialPort("/dev/s3c2410_serial2",
                    9600, 8, 1);
            int len = 1000;
            byte[] buf = new byte[len];

            if (HardwareControler.select(fd, 2, 20) == 1) {
                int n = -1;
                String str = null;
                while (n == -1) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    HardwareControler.read(fd, buf, buf.length);
                    str =new String(buf);
                    n = str.indexOf("$GPGGA,");

                }
                str = str.substring(n, 50);
                txtview.setText(str);
                HardwareControler.close(fd);

            } else {
                txtview.setText("无数据");
            }

自己顶一个。目前能接收到数据,只是接收的数据比较乱
级别: 荣誉会员
UID: 34761
精华: 0
发帖: 1348
金钱: 6835 两
威望: 1367 点
贡献值: 0 点
综合积分: 2696 分
注册时间: 2010-12-21
最后登录: 2017-06-02
2楼  发表于: 2012-03-23 02:00
你应该处理一下换行符,读到一行才处理