我正在处理COM端口应用程序,我们有一个定义的可变长度数据包结构,我正在与微控制器通信.数据包具有开始和停止字节的分隔符.麻烦的是,有时读缓冲区可能包含无关的字符.看起来我总是得到整个数据包,只是在实际数据之前/之后的一些额外的喋喋不休.所以我有一个缓冲区,只要从COM端口收到新数据,我就会附加数据.搜索此缓冲区以查找可能出现的数据包的最佳方法是什么?例如:
说我的数据包分隔符是0xFF,我有一个数组
{ 0x00, 0xFF, 0x02, 0xDA, 0xFF, 0x55, 0xFF, 0x04 }
Run Code Online (Sandbox Code Playgroud)
如何创建一个函数/ LINQ-statment来返回以分隔符开头和结尾的所有子数组(几乎就像带有通配符的滑动相关器)?
该示例将返回以下3个数组:
{0xFF, 0x02, 0xDA, 0xFF}, {0xFF, 0x55, 0xFF}, and
{0xFF, 0x02, 0xDA, 0xFF, 0x55, 0xFF}
Run Code Online (Sandbox Code Playgroud)