“信号灯超时时间已过期”错误的USB连接(“The semaphore timeout period

2019-07-17 11:46发布

我得到这个错误...

信号灯超时时间已过期。

在这条线...

ThePorts.ActivePort1.Open();

...但我只能从时间得到它的时间。 当它发生,它发生了一遍又一遍。 然后问题消失,数小时或数天,然后回来。

串行端口与连接的蓝牙USB。

我觉得这家伙是有一个非常类似的问题,但不是在C#

冻结SerialPort.Open / DeviceIoControl的/ GetcommState与usbser.sys

尽我所能估计,我看过他的整个问题,并将得到的意见,得到的答复,但我真的想不出哪一个固定他的问题,或者C#是他经历了什么显著不同。

感谢您对无能的任何帮助。 这是它的发生的实际代码。

public static void Open_ActivePortWeWillUse(String Drone_StringNameFromUser)
{
    SerialPort TempSerialPort = new SerialPort(Drone_StringNameFromUser, (int) SerialPortSpeed);

    ThePorts.ActivePort1 = TempSerialPort;

    ThePorts.ActivePort1.DataBits = 8;
    ThePorts.ActivePort1.Parity = Parity.None;
    ThePorts.ActivePort1.StopBits = StopBits.One;

    ThePorts.ActivePort1.DataReceived += new SerialDataReceivedEventHandler(OurBackGroundSerialPortReceiver);

    ThePorts.ActivePort1.Open();  // "Sometimes" Error hits here
}

Answer 1:

也可能出现此错误,如果您有网络延迟或互联网或本地网络问题。 有一个失败的对应桥路连接可能是罪魁祸首也是如此。



Answer 2:

好吧,我现在没有连接信号量超时的问题。

如果有人读遇到过同样的事情,我希望这个程序对你的作品; 但没有承诺; 嘿,这是窗户。

在我的情况,这是Windows 7的

我从一个小提示此页面上eHow; 不知道这会帮助任何人或没有。

所以无论如何,这是对我工作的简单的23步程序

  • 点击开始按钮

  • 选择控制面板

  • 从控制面板,选择设备管理器

  • 从设备管理器,选择通用串行总线控制器

  • 从通用串行总线控制器,点击小三角横着

  • 我无法预测什么,你会在您的计算机上看到的,但在我的我弄了半天下拉列表

  • 开始调查,以找出哪些这个名单,这些成员之一是罪魁祸首?

    • 在下拉列表中的每个成员,在名称上点击右键

    • 名单将打开,选择属性

    • 猜测时间:使用近从而打开结果窗口顶部的各种标签,做一个猜测,如果这是一个与信号量超时呛你的东西USB适配器驱动程序

  • 一旦你做出正确的猜测,然后关闭USB根集线器属性窗口(但保留在设备管理器窗口中打开)。

  • 物理disonnect任何事情,一切从USB集线器。

  • 拔下电源插头。

  • 回到你的鼠标指针到您先前确定的列表USB根集线器。

  • 右击再次

  • 选择卸载

  • 让Windows做它的事

  • 等待一小会儿

  • 掉电整个计算机,如果你有时间; 有人说这是必需的。 我觉得我把他离不开它。

  • 将USB集线器回到PC上的USB连接器

  • 如果列表中的设备管理器闪烁并做了一些闪存的灯泡,它的好。

  • 将蓝牙连接器返回到USB集线器

  • 让Windows做的事情更多一些

  • 不到两分钟,我又有了一个工作COM端口,没有信号量超时。

希望它为别人谁可能有类似的问题。



Answer 3:

与Arduino的莱昂纳多通信时,我有这个问题,以及在两个不同的Windows计算机。 该可靠的解决方案是:

  • 查找设备管理器中的COM端口,打开设备属性。
  • 打开“端口设置”​​选项卡,然后单击高级按钮。
  • 还有,取消勾选“使用FIFO缓冲区(需要16550兼容UART),然后按OK。

不幸的是,我不知道这个功能做什么,或者它如何影响这个问题。 经过几电脑重新启动等十多个设备连接的周期,这是一个可靠地固定这个问题的唯一的事情。



文章来源: “The semaphore timeout period has expired” error for USB connection