我有一台 Leica DISTO D3a BT。
它是一个测量设备,通过蓝牙发送测量结果。
我编写了一些代码来获取蓝牙流,我收到了数据,但总是收到“错误 240”消息。
这意味着(从用户手册来看)我不确认数据传输是否成功。
我该怎么做?
这是我的代码:
int bytesRead = 0;
System.IO.Stream stream = client_.GetStream();
byte[] buffer = new byte[k_BUFFER_BYTES];
while(true)
{
Task.Delay(100);
if (client_.Available > 0) // Available contains the available bytes
{
int counter = 0;
string output = "";
while (counter < client_.Available)
{
bytesRead = stream.Read(buffer, 0, k_BUFFER_BYTES);
counter += bytesRead ;
output += System.Text.Encoding.ASCII.GetString(buffer, 0, bytesRead);
}
stream.Write(Encoding.ASCII.GetBytes("\r\n"), 0, 2);
stream.Flush();
Console.WriteLine(output + " - " + counter + " - " + client_.Available);
}
}
预先感谢您的任何帮助!
终于我得到了答案!
我安装了一个串口嗅探器,发现响应的确认字符串是:
cfm\n
所以现在的代码是:
await stream.WriteAsync(Encoding.ASCII.GetBytes("cfm\n"), 0, 4);
await stream.FlushAsync();
PS:非常感谢徕卡客服not回复我的邮件和电话。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)