• 安卓usb数据接收


    之前在论坛里面求助了关于监听数据接收的问题,因为第一次做这方面,可能我提的问题太简单了,大神都不愿意回答我,(之前的帖子)晚上翻墙浏览网站发现问题的解决办法,

    原文是:最近老板让弄安卓和一块板子通信,现在的情况是我第一次发送数据可以接受到(一些参数的初始化),然后我再发送数据,就接收不到了,数据肯定是发送成功了,只是我的逻辑代码有问题(新手,懂的较少),因为我退出了然后再进入程序数据就接收到了,不知道如何实现线程内的代码一直处于监听状态,我的代码:

    Runnable runnable = new Runnable() {
     
            @Override
            public void run() {
                // TODO Auto-generated method stub
                UsbRequest request = new UsbRequest();
                boolean initilzed = request.initialize(conn, endpointIn);
                System.out.println(initilzed);
                ByteBuffer buffer = ByteBuffer.allocate(38);
                request.queue(buffer, 38);
                while (initilzed) {
                    if (conn.requestWait().equals(request)) {
                        byte[] data = buffer.array();
                        conn.bulkTransfer(endpointIn, data, 38, 1000);
                        // System.out.println(data.toString());
                        final String message = "Read " + data.length + " bytes: 
    "
                                + HexDump.dumpHexString(data) + "
    
    ";
                        System.out.println(message);
                    }
                }
            }
        };
    现在说下解决办法:其实很简单,就是loop循环里面执行异步任务:

    	Runnable runnable = new Runnable() {
    
    		@Override
    		public void run() {
    			// TODO Auto-generated method stub
    			// System.out.println("进入线程了");
    			while (true) {
    				synchronized (this) {
    					UsbRequest request = new UsbRequest();
    					request.initialize(conn, endpointIn);
    					ByteBuffer buffer = ByteBuffer.allocate(38);
    					request.queue(buffer, 38);
    					if (conn.requestWait().equals(request)) {
    						byte[] data = buffer.array();
    						conn.bulkTransfer(endpointIn, data, 38, 1000);
    						final String message = "Read " + data.length
    								+ " bytes: 
    " + HexDump.dumpHexString(data)
    								+ "
    
    ";
    						System.out.println(message);
    					}
    				}
    
    			}
    
    		}
    	};
    高手见谅,权当是自己记录的一点心得,毕竟网上别人关于这方面资料少,具体的例子也没有。




  • 相关阅读:
    kubernetes 配置示例 Lifecycle
    Kubernetes 集群部署(5) kubectl 常用命令
    Kubernetes 配置示例 一个Pod 包含多个容器
    实现lighttpd+tomcat
    tomcat解决中文乱码问题
    linux安装tomcat
    zz Tomcat+JSP经典配置实例
    jdbc查询大量数据内存溢出的解决方法
    汉明距离
    log4j乱码问题
  • 原文地址:https://www.cnblogs.com/sowhat4999/p/4439864.html
Copyright © 2020-2023  润新知