2011-10-12 31 views
0

串口库上有更详细的信息吗?我问的原因是,我收到的串行数据被切割成看似随机大小的块。我知道这是相当连续的,但也许很小的时间延迟导致接收数据事件被多次触发。我正在使用异步流。是否在启动另一个流之前允许异步流中的时间延迟?或者,也许它只是一个蓝牙功能,发送数据包中的数据?如果必须的话,我可能会使用计时器而不是异步流,并将数据堆积起来,但是如果我不'必须这样做,我宁可不使用。我收到的数据看起来不错,如果它全部合并到一个流中。蓝牙串行数据 - 切碎?

回答

0

常规模式下的AsyncStream只是在数据可用时传输数据。由于数据由串行设备进行缓冲,因此您有责任正确分割和合并消息。

如果你有双方的控制权,那么你可以在前缀模式下使用AsyncStreams。在这种模式下,AsyncStreams负责在内部拆分和合并消息,从而显着简化您的工作。有关更多信息,请参见此link