我最近阅读有关的Arduino的的Hello World 应用程序,我心想, “我不知道我可以做到这一点,我现在所拥有的硬件。”

由于我没有一个Arduino,我抓住了,我已经奠定周围USB闪存驱动器,并开始围绕谷歌搜索关于它的信息。我没有找到这方面的很多有用的信息,所以现在我要问在这里:有可能是我访问USB驱动器的硬件(例如LED),并通过一些编程环境与它交互(我在想C#应可能有一些方法来做到这一点)?

此外,有关这个问题 - 没有人知道U盘用什么样的命令?例如,SCSI存储设备具有标准化的指令集; ATA设备也有类似的协议。怎么样喜欢简单的读/写发给USB存储设备的命令?

有帮助吗?

解决方案

尽管USB协议是相当通用的,外围设备是真正起作用特定和需要某种设备驱动器的主机上才能正常工作。

当USB闪存驱动器上有一个微控制器,最USB存储设备遵循一个公共协议。这就是为什么你没有安装对每个驱动器你插到窗口不同的设备驱动程序。

我敢肯定的是,大容量存储协议中没有消息“打开LED” :) 和而实现的USB驱动器的公司实际上可能有一个特殊的命令这样做(也许调试),我会怀疑它会被公开。

虽然我在Windows上没有大师,我认为,为了使您能够直接访问USB堆栈,你会写自己的设备驱动程序和插件在内核加载它。你能想象,如果一个普通的应用程序可以发送“格式一切”命令到任意USB设备。

其他提示

这里是一个DIY USB控制的LED灯的链接,这是一个小更多的工作插入USB棒。

如果你想打开一个USB光硬盘驱动器上,你就必须将数据写入到驱动器上的文件,但我认为某些驱动器将离开光所有的时间,大多只是点亮而正在写入的数据。

所以,如果你的USB驱动器安装为F :,你可以创建如F文件:\ lights.txt,和写入数据的几K到过它,然后删除该文件,并重新开始。

一个缺点是,闪存驱动器磨损一段时间后,这将穿出来。你也可以只尝试从驱动器中读取数据,以及。

如果你想更精确的控制,你可以得到如 USB数据AQUISITION设备这些,将让你开的是特定的电力输出,以任何你想要的,包括灯泡或LED的功率。它们最初被科学家从实验室设备测量的投入,我用这样的东西在我的大学物理课,尽管当时我们使用RS-232。

我想看看这里。他们使用一种叫做海量存储。

在Linux的USB驱动器看起来像SCSI驱动器,所以你可以做查询,读取,写入等。通常的闪存驱动器的控制器制造商可能有一个供应商特定的“后门”,这是未知的广大市民。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top