Bluetooth 手持蓝牙流读取挂起
我有一个Intermec CN51,我用它通过Parani SD1000串行蓝牙适配器向Digi Scales DS-781发送命令。一切都正常,只是我没有从天平上得到任何反应。我使用了一个串行端口分析器(SPA)来查看命令(ENQ 0x05)是否正在执行,并且正在执行。如果我将磅秤连接到PC串行端口,并从SPA发送ENQ,我将获得重量。如果我将Parani连接到PC并从CN51发送ENQ,我会在SPA中看到值。所以,这一切似乎都在起作用,但当我通过帕拉尼连接CN51和天平时,我没有收到天平的响应。我肯定错过了什么,但我已经尝试了我能想到的一切,为什么我在第I条流中没有得到回应?这是我用于测试的一个小应用程序:Bluetooth 手持蓝牙流读取挂起,bluetooth,32feet,Bluetooth,32feet,我有一个Intermec CN51,我用它通过Parani SD1000串行蓝牙适配器向Digi Scales DS-781发送命令。一切都正常,只是我没有从天平上得到任何反应。我使用了一个串行端口分析器(SPA)来查看命令(ENQ 0x05)是否正在执行,并且正在执行。如果我将磅秤连接到PC串行端口,并从SPA发送ENQ,我将获得重量。如果我将Parani连接到PC并从CN51发送ENQ,我会在SPA中看到值。所以,这一切似乎都在起作用,但当我通过帕拉尼连接CN51和天平时,我没有收到天平的响
public partial class Form1 : Form
{
String deviceAddr = "000195203226";
BluetoothAddress _addr;
BluetoothEndPoint rep;
SerialPort _serialPort;
BluetoothClient cli;
public Form1()
{
InitializeComponent();
_addr = BluetoothAddress.Parse(deviceAddr);
rep = new BluetoothEndPoint(_addr, BluetoothService.SerialPort);
cli = new BluetoothClient();
}
public void Form1_Load(object sender, EventArgs e)
{
cli.Client.Connect(rep);
Stream peerStream = cli.GetStream();
String dialCmd1 = "05";
Byte[] dcb = System.Text.Encoding.ASCII.GetBytes(dialCmd1);
peerStream.Write(dcb, 0, dcb.Length);
Byte[] sRes = new Byte[200];
peerStream.Read(sRes, 0, sRes.Length); // This just hangs
正如您所看到的,我发送了ENQ,然后读取响应,但应用程序只是位于peerStream.read方法上,并挂起。有人能指出我哪里出了问题吗?干杯。解决了……我稍后会发布解决方案,以防其他人对此有问题。