当前位置: 首页 > 工具软件 > Serial-Studio > 使用案例 >

android usb 转串口 (usb-serial-for-android ) 读数据,将字节流转为数据帧的方法记录

储国发
2023-12-01

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

 

 

 类似资料: