如何使用C#控制我的USB端口
本文关键字:USB 端口 我的 控制 何使用 | 更新日期: 2023-09-27 18:22:02
我想写的是一个能够访问我的USB端口的应用程序。
控制何时给手机充电,何时不充电。也许随着时间的推移,我想将应用程序扩展到控制我房间里的灯泡、风扇和电视。
我想学习如何解决这个问题,而不仅仅是复制一些代码并粘贴。我希望能有一个快速而简单的教程,我将不胜感激(请使用小语言,你们都知道我还在学习:-))。
我想要实现的确切工作只是让端口在需要时发出电力。也就是说,如果可能的话,应该使用代码来关闭和打开它。
无法从用户模式代码更改USB端口的电源状态。这不是.NET的限制,任何用户应用程序都不能更改USB端口的电源状态。事实上,我认为电源状态是由芯片组本身控制的,如果不使用专门的芯片组,就无法关闭它。
此外,如果你的设备短路,你可能会烧毁你的芯片组和主板。
唯一(安全)的解决方案是使用一个外部设备来控制继电器为您的设备打开或关闭电源。
类似的问题有多种答案,例如Windows-关闭软件中的USB设备
一个好的选择是使用外部设备,如Arduino(或Netduino)、.NET小工具或任何数量的外部板。当然,价格和功能各不相同。
如果你想自己建造设备,你可以用简单的谷歌搜索找到许多USB中继
编辑
关于串行端口,这两种端口类型之间几乎没有任何关系。串行端口不是为提供电源而设计的。你可以使用一些技巧来使用引脚的电压为一些外部设备供电,尽管这会导致问题,因为没有足够的电流为大多数设备供电。烧毁芯片组是另一个可能的结果。
另一方面,USB端口被明确设计为通过无法正常控制的特定电线提供电源。这就是为什么即使机器关闭,你也可以从台式机的USB端口为手机充电。
编辑2:睡眠和充电端口正如Ben Voigt所指出的,并不是所有的USB端口都允许在关机时充电。
有多种端口类型支持充电。充电端口比普通端口提供更多的电流,但当计算机关闭时会关闭。另一方面,睡眠和充电端口即使在计算机关闭时也可以提供电源。