android usb 转串口 (usb-serial-for-android ) 读数据,将字节流转为数据帧的方法记录_Zonson9999的博客-程序员秘密_usb-serial-for-android

技术标签: # android usb  

目前项目使用的是 github 上的这个库进行数据的读写,https://github.com/mik3y/usb-serial-for-android

这个库提供了两种方法读数据,一为同步的方式,主动读:

len = port.read(response, READ_WAIT_MILLIS);

另一个种为异步的,等待回调传入数据:

@Override
public void onNewData(byte[] data) {
    runOnUiThread(() -> { textView.append(new String(data)); });
}

但是这个两个API没有提供读指定字节数量的方式,将字节流转为消息帧不是很方便。于是想到了使用一个队列做为字节流的缓存,有一个线程只负责读数据然后放入这个队列中。另外在新起一个线程从这个队列中轮询消息,读到消息同步帧,则开始按消息的格式开始读取并组装消息。

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wuzhong8809/article/details/111279261

智能推荐

python爬虫天气预报难不难_Python爬虫实例扒取2345天气预报_weixin_39902107的博客-程序员秘密

寒假里学习了一下Python爬虫,使用最简单的方法扒取需要的天气数据,对,没听错,最简单的方法。甚至没有一个函数封装。。网址:http://tianqi.2345.com/wea_history/53892.htm火狐中右键查看网页源代码,没有发现天气数据,因此推断网页采用的json格式数据。右击->查看元素->网络->JS,找到了位置用Python爬虫下载为json格式数据存储...

it工程师和码农的区别_你是码农,还是IT工程师?_weixin_39621669的博客-程序员秘密

IT界知名的段子手曾说:对于那些月薪两万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。此话一出,不知激起了多少小猴子的愤怒,但却也只能默默地捏着工资条躲在小黑屋里伤心。然而,小编认为,薪资的多少并不能成为分辨码农和IT工程师的分界线。码农和IT工程师最根本的区别不过是技术层次的不同。码农:顾名思义为编码的农民,从...

连接服务器环境运行程序实例:以python脚本为例_python 连接服务器执行脚本_积跬步,慕至千里的博客-程序员秘密

目录一、连接服务器(公司100服务器,可联网)二、服务器上后台运行脚本一、连接服务器(公司100服务器,可联网)个人用的cmder,(系统自带的cmd也是可以的),在命令行界面,输入脚本:ssh [email protected]服务器地址 # 回车password # 回车,登录成功,实例如下对应的username和服务器地址部分,填写自己想要连接的用户名称和地址信息,然后输入对应的用户密码即可连接成功。实例如下:二、服务器上后台运行脚本在服务器上运行python脚本,简单的命令即可执行:

微信小程序Video组件实践总结_weixin_34370347的博客-程序员秘密

我司微店+小程序最近有需要在商品详情里面添加视频的功能,故使用了微信官方Video组件,在使用过程中遇到了一些问题,有些问题特别坑,我觉得有必要总结一下,分享出来供有这方面需求的同行参考,本篇文章我主要讲解最终我使用的兼容性比较好的方案,希望能帮助有需要的童鞋。在我使用video组件的过程中,主要碰到以下问题:布局表现不一致wifi下自动播放,视频播放黑屏(安卓常见)视频列表不能随页面...

揭秘 DeepMind 的关系推理网络_「已注销」的博客-程序员秘密

原文:DeepMind’s Relational Reasoning Networks — Demystified 作者:Harshvardhan Gupta 翻译:汤益榕 审校/责编:屠敏,关注物联网、移动开发领域,寻求报道或投稿请发邮件[email protected]。每当 DeepMind 发表一篇新文章时,媒体都会有狂热的报道,而你常常会在这些报道中读到一些充满误导性...

随便推点

python飞机大战视频教程_我们的视频 飞机大战(Python代码)_weixin_39633171的博客-程序员秘密

没有病毒!如果你觉得有病毒,可以主动退出,谢谢合作!我觉得有80%的人是因为看到飞机大战游戏代码来的。。。如果你是为了学习,那么你很Good!可以自己试,但不可以转裁!!!关注我!开始了代码:作者:我们的视频哟https://www.bilibili.com/read/cv3643557出处: bilibiliimport pygameimport sysimport randomfrom pyg...

Netty系列之Netty线程模型_糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖的博客-程序员秘密

1. 背景\1.1. Java线程模型的演进\1.1.1. 单线程\时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。\在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。\1.1.2. 多线程\随着硬件性能的提升,CPU的核数越来越越多,很多服务器标配已经达到32...

Tomcat启动卡Deploying web application directory解决_蔚蓝的珊瑚海_xdcaxy2013的博客-程序员秘密

启动阿里云centos服务器一直奇怪为什么启动不了,在同样配置win7下没问题,部署上去Tomcat就很慢一直卡在NFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.15INFO [localhost-startStop-1] org....

MySQL中查询已定义字段的类型和长度命令_chentiansha的博客-程序员秘密

SELECT  COLUMN_NAME as '列名' ,DATA_TYPE as '字段类型' ,COLUMN_TYPE as '长度加类型' FROM information_schema.`COLUMNS` where TABLE_SCHEMA like 'MONITOR' and TABLE_NAME like 'liudi';

抽奖算法_weixin_34236869的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

我自己_angry_youth的博客-程序员秘密

大家好,第一次使用博客发表文章,说起来还是有点羞涩的,虽然你们也看不见我羞涩的脸颊,哈哈,自己脑补吧。。    我是一名在校大学生,正在“废寝忘食”的学习枯燥的计算机知识(要是真的废寝忘食就好了,哈哈),肯定有人问既然不喜欢那还学什么,我是说枯燥不是说我不喜欢,我是一个一旦做了决定就从来不后悔的人,当初高考志愿选择了我今天的路,我不后悔也要走,我后悔也要走。所以我不后悔,我喜欢编程,我喜欢享受