这个问题的提法本身就有问题,串口受到的是数据流本身就没有长度的问题.
关键是接收端如何处理数据,或者说如何按照规则处理数据流的分组.
总结一下就三个方法
1.按时间分,视两段数据中间的停顿为分割依据,这方法不会有问题开销也小,缺点就是停顿时间降低了传输速率
2.按特定标识分割,每个段前面或后面加上特定的识别符号,识别符号过短可能会误判(比如插拔接口时会乱数据)
3.按特定长度区分段,比如人为规定好每8个字节一包,这个方法开销小速率高,但是只要有一个字节错后面全错.
当然也可组合使用1,2,3再加校验,要结合你的硬件出错概率带宽占用...综合考虑.
|