研究员,
我正在使用下面的代码从蓝牙设备接收数据,有用的信息在'F'到来后立即结束,然后收到'\ r'和'\ n'。
问题是,当程序再次开始接收数据时,前两个字节是'\ r'和'\ n'。
我试过dispose(),close()和flush(),但是当代码再次到达wile循环时,字符串分隔符(\ r和\ n)仍然存在。 我只需要在接收新字节之前删除旧数据。
int i1 = 0;
while (true)
{
datum[i1] = await Task.Run(() => (byte)InmStream.ReadByte());
int datum_check = datum[i1];
if (datum_check == 70) // F (char) = 70
{
datum[i1] = Convert.ToByte(10); // replaces the F by '\n'
break;
}
i1++;
}
代码运行时第一次收到的前7个字节datum [0],直到datum [6]为:3,\ r,\ n,3,5,\ r和\ n。
第二次运行中接收的7个字节是:\ r,\ n,3,\ r,\ n,3,5,...
有什么建议吗?提前谢谢。
值得一提的是,我的背景来自一个完全不同的领域。