Win'7 UART BlueTooth在四千字节后无声无息

时间:2013-03-14 23:37:54

标签: c# bluetooth uart

我有一个小型嵌入式系统,我已经使用调试例程来通过蓝牙连接一遍又一遍地向PC发送完全相同的字节。

有问题的速度是921600 bps

成功接收大约四千个字节(给予或接受几百个)后,我的应用程序不再看到Win7

我完全相信,在流从我的应用程序中消失后,字节(即超过四千个)继续发送好

我非常怀疑Windows出于某种原因,不能提供蓝牙接收的内容。

我完全相信......

  • 该应用程序确实正确显示前四千个奇数字节
  • 应用程序之后没有显示任何内容
  • 外部框继续发送字节

我怀疑Win'7因为

而被提升了
  • 我停止应用程序后,我的外部传输盒继续。
  • 两分钟后,我停下了外置发射盒
  • 那时,PC和小盒子都没有互动
  • 两个系统停止,(几分钟)我重新启动了PC应用程序
  • 没有传输的字节,应用程序收到了941个字节,从那里,我真的不知道
  • 那些字节来自前一个会话(我一遍又一遍地发出单字节0x37,这就是我在数据流中看到的)

然后我们再次启动小盒子生成数据,并看到相同的行为:看到了4435个字节,之后我们从UART中得不到任何字节,尽管在921600 bps处有两分钟的字节泛滥。

这是接收线程

 void RecieveThread()
  {
      int n;

      while (continueRecieving)
      {
          n = connectorPort.BytesToRead;

          byte[] bits = new byte[n];

          if (n > 0)
          {
              connectorPort.Read(bits, 0, n);
          }

          Write(bits);
      }
  }

万一有人觉得这很重要,这里是写(位)例程

 public void Write(byte[] b)
 {
     if (writting)
     {
         for (int i = 0; i < b.Length; i++)
         {
             storage[sPlace++] = b[i];

             pass += b[i].ToString("X2") + " ";

             if (sPlace % numericUpDown1.Value == 0)
             {
                 pass += "\r\n";
             }
         }
     }
 }

以前是否有人在使用C#app的Win7机器上消失了蓝牙字节?

任何人都可以看到可能导致此问题的明显(或模糊)错误吗?

0 个答案:

没有答案