27 windows embedded usb microcontroller winapi
我想通过Windows上的软件重启USB设备.
我正在开发一个小型USB功率微控制器.该芯片将在电源循环中恢复原生行为并允许代码下载.由于我的代码会在出现问题时使设备崩溃 - 使其忽略所有USB命令 - 我必须从系统中物理拔出设备.
我想远程进行开发,而不必亲自到场.
到目前为止,我已尝试使用"devcon"来禁用部分USB堆栈.虽然这会将集线器带入D3(应该关闭电源!),但仍然会为设备供电.
是否有任何预先存在的解决方案或SetupAPI技巧可能会有所帮助?
如果您购买此外部 USB 集线器,在 Windows 上有一个简单的解决方案。它有一个未公开的功能,只要在 Windows 设备管理器中“启用”集线器,就会循环给所有连接的 USB 设备供电。您可以手动执行此操作:
您还可以通过任何以管理员权限运行的 Windows 应用程序以编程方式执行此操作。这是C# 中的示例。
我已经成功地使用此技术为“锁定”的 USB 设备重新供电。它肯定胜过物理拔掉设备,尤其是在远程或无人值守的 PC 上。
不幸的是,这在普通电脑上是不可能的。
USB 主机芯片组不具备完全断电的能力。您可以在 USB 2.0 或 3.0 中执行一些信号来要求设备进入睡眠状态,但即使 PC 关闭,该端口也会提供电源。(这样一来,iPod 等设备在需要时仍然可以充电。)
| 归档时间: |
|
| 查看次数: |
48890 次 |
| 最近记录: |