android usb 转串口 (usb-serial-for-android ) 读数据,将字节流转为数据帧的方法记录_com.github.mik3y: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

智能推荐

USDT TRX ETH 自动归集_php 实现usdt自动归集功能-程序员宅基地

文章浏览阅读605次,点赞13次,收藏9次。在数字货币领域,多地址多资金自动归集系统用于集中管理和归集来自多个地址的资金,以提高操作效率和降低交易成本。在实际开发中,需要考虑更多的细节,例如事务处理、错误处理、日志管理等。此外,确保系统的安全性是至关重要的,采用最佳实践来保护用户的资金和数据。_php 实现usdt自动归集功能

C# 输入一个三位数的字符串,输出为三位数的整数,并输出百位、十位、和个位_输入三个数字字符,然后组成一个三位数输出-程序员宅基地

文章浏览阅读3.5k次。C# 输入一个三位数的字符串,输出为三位数的整数,并输出百位、十位、和个位以C# 语言编写,控制台应用程序运行代码运行_输入三个数字字符,然后组成一个三位数输出

十三、W5100S/W5500+RP2040之MicroPython开发<MQTT&新版OneNET示例>-程序员宅基地

文章浏览阅读1.7k次,点赞44次,收藏44次。在这个智能硬件和物联网时代,MicroPython和树莓派PICO正以其独特的优势引领着嵌入式开发的新潮流。MicroPython作为一种精简优化的Python 3语言,为微控制器和嵌入式设备提供了高效开发和简易调试的当我们结合WIZnet W5100S/W5500网络模块,MicroPython和树莓派PICO的开发潜力被进一步放大。这两款模块都内置了TCP/IP协议栈,使得在嵌入式设备上实现网络连接变得更加容易。无论是进行数据传输、远程控制,还是构建物联网应用,它们都提供了强大的支持。

开启 Go 泛型时代:第三方泛型库分享-程序员宅基地

文章浏览阅读938次。最近 Go1.18 即将发布,其中包含了一个杀手级的特性:泛型。有了泛型后,就能干很多奇奇怪怪的事情了。先是配套第三方库的使用,这是我在初学 Go 时最经常听到的,就是想说:“如果有泛型,..._go samber/lo

超实用EasyCode模板(手把手教你)_easycode template-程序员宅基地

文章浏览阅读9k次,点赞4次,收藏16次。为了能更快的生成代码,减少项目的开发时间,增加效率,在idea中使用自定义模板技术,来自动生成domain,repository,service(接口与实现),controller,js,jsp,query,注意在创建easycode模板时,要将关联的表对象全部删除,以及相应的方法domain##引入宏定义$!define##使用宏定义设置回调(保存位置与文件后缀)#save("/..._easycode template

Oracle 查询表信息(字段+备注)_oracle查询字段备注-程序员宅基地

文章浏览阅读1.3w次,点赞7次,收藏17次。转载自:https://blog.csdn.net/Zhangxichao100/article/details/72519304获取表字段:select * from user_tab_columns where Table_Name='用户表' order by column_name获取表注释:select * from user_tab_comments ..._oracle查询字段备注

随便推点

解决‘GNN’中‘over—smoothing’问题(通俗易懂)_over-smoothing-程序员宅基地

文章浏览阅读4.6k次,点赞16次,收藏49次。轻松解决GNN中’over-smoothing‘问题,让读者不再为此问题困扰!!!!!_over-smoothing

支持NEON指令集的android编译设置_anddroid 配置libyuv neon指令集-程序员宅基地

文章浏览阅读7.7k次。支持NEON指令集的选择从ARMv7开始ARM提供高级单指令多数据 (SIMD) 扩展亦称 NEON 技术,它是一种由 ARM 开发的 64/128 位混合 SIMD 体系结构,可以提升多媒体和信号处理应用程序的性能。 NEON 作为处理器的一部分来实现,但是它拥有自己的执行管道,以及有别于 ARM_anddroid 配置libyuv neon指令集

民宿小程序源码搭建 酒店预订小程序源码 完整前后端+安装搭建教程_民宿酒店预订管理系统小程序-程序员宅基地

文章浏览阅读670次。分享一个民宿小程序源码搭建酒店预订小程序源码,含完整代码程序包和详细的安装搭建教程。系统为多用户,可以多商家入驻收入驻费用运营,可自用搭建民宿酒店小程序,在线订房管理。_民宿酒店预订管理系统小程序

JAVA新实战1:使用vscode+gradle+openJDK21搭建java springboot3项目开发环境_openjdk 21-程序员宅基地

文章浏览阅读4.2k次,点赞8次,收藏21次。作为一个干了多年的全栈技术工程师,厌倦了使用盗版IDE,近些年开发Java一直使用IntelliJ IDEA进行Springboot后端项目开发,对于IntelliJ IDEA 授权问题,一直花钱买学生类的授权,但经常被屏蔽,无法使用,又不舍得花大钱买企业版,索性不再使用了。决定改用 VsCode+Gradle+OpenJDK21进行JAVA Spring Boot开发,后续逐渐前后端都统一一套IDE工具。_openjdk 21

CentOS7.9下openssh升级9.6实践-程序员宅基地

文章浏览阅读1.1k次,点赞5次,收藏10次。【代码】CentOS7.9下openssh升级9.6实践。_openssh升级9.6

2024最新python大数据毕设选题推荐-程序员宅基地

文章浏览阅读83次。Hi,大家好,大四的同学马上要开始毕业设计啦,大家做好准备了没!学长给大家详细整理了最新的 大数据专业 相关选题,对选题有任何疑问,都可以问学长哦~学长限时开放开题指导,对开题有任何不明白的,对某项技术或算法不理解的,不知道怎么下手毕设的,都可以问学长,学长会根据你的情况提供帮助,希望能帮助到你。。

推荐文章

热门文章

相关标签