1

我的目标是使用 c++/c# 来轮询 USB 端口以查看电源是否从外流向内。

我有一个红外探测器 LED 连接到 USB 输出,然后返回到输入。我基本上想知道我怎么能做这样的事情:

USBDevice usb = LoadUSBDevice(port1);
boolean detected = usb:isPowerFlowingOutToIn();
if(detected){
     double amount = usb:getVoltage();
     if(amount > somenumber){
           //do stuff
     }
}
4

1 回答 1

0

此设置无法按原样工作。USB 设备必须根据 USB 规范做出响应,否则它们将无法获得分配的地址。由于您的设备行为不正常(例如,它无法建立供应商 ID、产品 ID、设备类别……)它不会获得地址。因此,假设是LoadUSBDevice(port1);行不通的。

Raymond Chen 将其很好地总结为“fork 也是一种非标准 USB 设备”。Windows USB 驱动程序是相当宽容的,但是当插入 USB 端口时,您不能期望任何东西都能正常工作。

于 2012-08-13T08:26:25.060 回答