Answers:
这发生在接收器电子设备的一个级别上。
对于每个字节,您必须接收8位。在通信的这一点上,您只将信号(例如,转换为电功率或电压)电平解码为比特。您在缓冲区中收到位。
您经常填充缓冲区(在位级别),因此您可以检查缓冲区以查看是否收到任何内容。首先,您收到大量的000000,但随后消息到达,缓冲区中的位开始具有不同的值。
现在,如果你幸运的话,第一个消息到达时,让我们说缓冲区(或第0个)中的第8或第16位。这些也是开始字节逻辑表示的所有位。
如果你没那么幸运,你只是在缓冲区的第8位推入0,你就会开始填写第9位的消息,这意味着将从原始的第一个字节开始的前七位作为第一个字节。并且将接收第二字节作为原始第一字节的最后一位和原始第二字节的前7位,依此类推。这会让事情搞得一团糟。
您必须能够以一些零的形式滑入缓冲区,以便在缓冲区的“字节位置开始”处开始填充消息。但是既然你知道你必须填写多少个零,你知道这对于某些消息增加了多少延迟(如果你知道传输的频率)。
编辑:只是为了使事情更精确:你以随机字节推送缓冲区中的前导码,这就是你知道你得到的东西。然后使用sync来同步传输(例如,填充zerros,以便从右位开始)。