Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 红外探测器USB轮询_C#_C++_Usb - Fatal编程技术网

C# 红外探测器USB轮询

C# 红外探测器USB轮询,c#,c++,usb,C#,C++,Usb,我的目标是使用c++/c#轮询usb端口,查看电源是否从输出端流向输入端 我有一个红外探测器led连接到usb输出,然后返回到输入。我基本上想知道我如何能做这样的事情: USBDevice usb = LoadUSBDevice(port1); boolean detected = usb:isPowerFlowingOutToIn(); if(detected){ double amount = usb:getVoltage(); if(amount > somenu

我的目标是使用c++/c#轮询usb端口,查看电源是否从输出端流向输入端

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

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

此设置无法按原样工作。USB设备必须按照USB规格进行响应,否则无法获得指定的地址。由于您的设备运行不正常(例如,无法建立供应商ID、产品ID、设备类等),因此无法获取地址。因此,假设的
LoadUSBDevice(port1)不起作用


陈雷蒙(Raymond Chen)很好地将这一点概括为“叉子也是一种非标准USB设备”。Windows USB驱动程序相当宽容,但当插入USB端口时,您不能期望任何东西都能正常工作。

您需要阅读红外探测器文档。通常,此类设备随附具有已知编程接口的驱动程序。例如,红外设备可以通过用户模式程序作为插座或虚拟COM端口进行访问。
usb::getVoltage
不需要,仅为5伏。您可能想要
getCurrent