控制USB端口的电源?

Kri*_*oks 29 c# c++ usb drivers

有人知道如何控制某个USB端口上的USB引脚吗?我认为它在汇编程序中肯定是可能的,但是C++或C#呢?

我希望能够使用USB电池作为LED的电源或类似的东西.那么一个程序就可以启动它并关闭电源使其闪烁.

我知道这听起来毫无意义,但我需要做一些非常棒的事情.

我也知道它可能需要一个自定义驱动程序.

blu*_*her 10

您不能简单地切换USB端口上的引脚.期.USB是一种串行协议.连接器包含

  1. 功率.主机可以控制电源线,因为它可以在过载时切断电源.这是由USB主机驱动程序完成的,这意味着PC中主机适配器的驱动程序.这并不意味着您可能需要的任何自定义设备驱动程序不使用操作系统已经提供驱动程序的任何设备类的硬件.
  2. 数据.数据通过串行协议发送,因此如果您使用USB,则无法控制这些引脚.

如果您想获得一些IO端口,则需要更多逻辑.您至少需要遵循USB协议的东西,这意味着某种微控制器(或特殊的USB设备控制器,如FTDI USB控制器.FT232和FT245特别适合使用).对于基于低端微控制器的解决方案,AVR控制器V-USB驱动程序可能很有趣.

为了便于PC上的bit-banging IO引脚,请使用并行端口.USB真的不适用于此.


Dej*_*nič 7

USB并非易事,所以我猜你会遇到一些问题(误)使用它.你可以/很多/更好(IMHO)标准的串口,已经用于这样的东西多年,有大量的例子可用.如果目标计算机上没有可用的串行端口,则可以使用USB->串行接口电缆.

话虽这么说,你可能想看看@:http: //sourceforge.net/projects/libusbdotnet/

LP,Dejan


and*_*sel 7

根据http://www.gniibe.org/development/ac-power-control-by-USB-hub/index

USB 2.0名义上支持每端口电源切换:

Hub Descriptor:
[...]
  wHubCharacteristic 0x0089
    Per-port power switching
[...]
Run Code Online (Sandbox Code Playgroud)

遗憾的是,作者报告说,虽然集线器的固件声称支持这一点,但制造商已经在电路板上偷工减料.