你的数据应该也是在缓冲吧,逐个字节判断,是ee就当作帧头,继续一个一个字判断,碰到ff,判断后面是不是fc,是的话继续判断后面是不是ff,在后面是不是ff,连续四个全部比对ok,计作帧尾。头尾之间就是完整帧。
桢尾判断逻辑:一个字节是不是ff,是当作桢尾首字节,判断后面是不是fc,在后面是不是ff,在后面是不是ff,连续四个全部ok就是桢尾,有一个不是,就放弃ff桢尾首字节,从桢尾的第二字节开始判断是不是桢尾首字节,循环下去。判断失败,只往前步进1字节继续判断,因为ff匹配,fc不匹配,fc这个位置可能是ff,有可能是桢尾首字节,不能漏了这个ff,所以逐次步进一字节判断
这个应该先记录首个FF,触发后续判断,如果后续连续是FC FF FF才能判断是结束帧,否则当做普通数据处理
相当于有一个滑动的指针,从这个指针开始连续4byte数据一起符合才行。