licheedev / Android-SerialPort-API

Fork自Google开源的Android串口通信Demo,修改成Android Studio项目
https://code.google.com/archive/p/android-serialport-api/
Apache License 2.0
1.3k stars 374 forks source link

请问下分包问题一般怎么解决? #19

Closed tydqcjj closed 3 years ago

tydqcjj commented 4 years ago

下位机定的0a开始0d结束,但是这两个字节他没有做保留,也就是在数据位也会出现。我无法通过特定字符去分割指令。目前我让下位机给我发指令都要间隔时间大于200ms,这样我通过间隔时间分割。请问下业界怎么解决分包问题的?

licheedev commented 4 years ago

我对过的协议,一般都这些构成:

帧头部 数据(命令码、数据长度、数据域) 校验码

这里有一个类似的协议的实现,可以参考一下

https://github.com/licheedev/SerialWorker/blob/master/app/src/main/java/com/licheedev/serialworkerdemo/serial/Protocol.java https://github.com/licheedev/SerialWorker/blob/master/app/src/main/java/com/licheedev/serialworkerdemo/serial/DoorDataReceiver.java