0

我想写的是一个能够访问我的 USB 端口的应用程序。

控制什么时候给我的手机充电,什么时候不给我的手机充电。也许随着时间的推移,我想扩展应用程序来控制我房间里的灯泡、风扇和电视。

我想学习如何解决这个问题,而不仅仅是复制一些代码行并粘贴。我希望对此有一个快速且非常简化的教程,我将不胜感激(请使用小语言,你们都知道我还在学习:-))。

我想要实现的确切工作只是让端口在需要时发出电力。也就是说,如果可能,应该使用代码将其关闭和打开。

4

1 回答 1

2

无法通过用户模式代码更改 USB 端口的电源状态。这不是 .NET 限制,任何用户应用程序都不能更改 USB 端口的电源状态。实际上,我认为电源状态是由芯片组本身控制的,如果不使用专门的芯片组,您将无法将其关闭。

此外,如果您的设备短路,您可能会烧毁您的芯片组和主板。

唯一(安全)的解决方案是使用外部设备来控制继电器为您的设备打开或关闭电源。

类似问题有多个答案,例如 Windows-Power off a USB device in Software

一个不错的选择是使用外部设备,如Arduino(或Netduino、.NET Gadgeteer或任意数量的外部板。价格和功能当然会有所不同。

如果您想自己构建设备,您可以通过简单的 Google 搜索找到众多 USB 继电器

编辑

关于串行端口,这两种端口类型之间几乎没有任何关系。串行端口并非旨在提供电源。您可以使用技巧来使用引脚的电压为某些外部设备供电,尽管这会导致问题,因为没有足够的电流为大多数设备供电。烧毁芯片组是另一个可能的结果。

另一方面,USB 端口被明确设计通过无法正常控制的特定电线供电。这就是为什么即使机器已关闭,您也可以从台式机的 USB 端口为手机充电。

编辑 2:睡眠和充电端口 正如 Ben Voigt 所指出的,并非所有 USB 端口都允许在关机时充电。

有多种端口类型支持充电。充电端口比普通端口提供更多电流,但在计算机关闭时会关闭。另一方面,即使计算机关闭,睡眠和充电端口也可以提供电力。

于 2013-07-12T11:50:20.963 回答