Bluetooth 手持蓝牙流读取挂起

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和天平时,我没有收到天平的响

我有一个Intermec CN51,我用它通过Parani SD1000串行蓝牙适配器向Digi Scales DS-781发送命令。一切都正常,只是我没有从天平上得到任何反应。我使用了一个串行端口分析器(SPA)来查看命令(ENQ 0x05)是否正在执行,并且正在执行。如果我将磅秤连接到PC串行端口,并从SPA发送ENQ,我将获得重量。如果我将Parani连接到PC并从CN51发送ENQ,我会在SPA中看到值。所以,这一切似乎都在起作用,但当我通过帕拉尼连接CN51和天平时,我没有收到天平的响应。我肯定错过了什么,但我已经尝试了我能想到的一切,为什么我在第I条流中没有得到回应?这是我用于测试的一个小应用程序:

  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方法上,并挂起。有人能指出我哪里出了问题吗?干杯。

解决了……我稍后会发布解决方案,以防其他人对此有问题。