我有一个usb的小风扇,我想用c#做这个usb的小开关。高手帮帮忙。

如题所述

这个是很难实现的。USB供电基本不能够在Windows的Ring3下控制的,而且对于很多主板,根本就无法控制。许多主板的USB供电是直接从电源的+5V上取电,不能通过软件控制。如果是笔记本电脑,有一部分的是可以通过软件控制USB是否供电,但通常不能在Ring3下操作,要编写驱动。编写驱动相当麻烦,而且由于驱动是直接操作物理地址的,所以没有编好很容易让电脑蓝屏……你倒不如改变下思路,为何不能在小风扇上动动脑筋?
我想到有两种办法:
一、如果你家电脑有串口,那么你可以用串口线、电阻、三极管做一个电子开关,用它控制风扇的开关,用C#写个串口控制的程序,当串口电平足够使三极管导通的时候,风扇运转,当电平较低时,风扇没有电不转。这甚至可以通过串口电平的高低控制风扇的转速。
二、你如果能弄单片机,用单片机做下位机,电脑上的上位机程序用C#写,通过USB传输控制指令给单片机,由单片机控制风扇的开和关甚至转速。
温馨提示:答案为网友推荐,仅供参考