【问题标题】:USB drive LED flashUSB 驱动器 LED 闪光灯
【发布时间】:2010-10-03 04:52:48
【问题描述】:

我最近在阅读有关 Arduino 的 Hello World 应用程序的信息,我心想:“我想知道我是否可以使用我现在拥有的硬件来做到这一点。”

因为我没有 Arduino,所以我抓起一个随身携带的 USB 闪存驱动器并开始在谷歌上搜索有关它的信息。我在这方面没有找到太多有用的信息,所以我现在在这里问:我是否可以访问 USB 驱动器的硬件(例如 LED)并通过一些编程环境与之交互(我认为 C# 应该可能有办法做到这一点)?

另外,与这个主题相关 - 有谁知道 USB 驱动器使用什么样的命令?例如,SCSI 存储设备具有标准化的命令集; ATA 设备具有类似的协议。如何向 USB 存储设备发出简单的读/写命令?

【问题讨论】:

  • 在我所知道的设备上,LED 只是在存储写入时连接到闪存,所以不是软件问题,而只是硬件问题。
  • 得到一个 arduino 和正确的东西,你不会后悔的!它不仅仅是玩 LED
  • 我认为,30 美元的 Arduino 是完全值得的

标签: embedded hardware usb led


【解决方案1】:

您可以像控制 RS232 端口一样控制 USB 希望这个 MSDN 链接对您有更多帮助 http://www.microsoft.com/downloads/details.aspx?FamilyID=075318ca-e4f1-4846-912c-b4ed37a1578b&DisplayLang=en

【讨论】:

    【解决方案2】:

    Here is a link to a DIY USB controlled LED lamp, it's a little more work then plugging in a USB stick.

    如果你想打开USB硬盘上的灯,你只需要将数据写入该驱动器上的文件,虽然我认为有些驱动器会一直亮着灯,大多数只是点亮在写入数据时。

    因此,如果您的 USB 驱动器挂载为 F:,您可以创建一个类似 F:\lights.txt 的文件,并写入几 k 的数据,然后擦除该文件并重新开始。

    一个缺点是闪存驱动器会在一段时间后磨损,这会磨损它。您也可以尝试从驱动器读取数据。

    如果您想要更精确的控制,您可以使用 USB 数据采集设备,例如 these,它可以让您驱动特定的电气输出,为您想要的任何东西供电,包括灯泡或 LED。它们最初被科学家用来测量实验室设备的输入,我在大学物理课上使用过类似的东西,尽管当时我们使用的是 RS-232。

    【讨论】:

    • 我知道将数据写入驱动器会使 LED 闪烁,但硬件不在我的控制范围内。我认为你对我的问题的理解有点过于字面意思了。 LED 问题更像是一个例子而不是一个目标。
    【解决方案3】:

    Linux 中的 USB 驱动器看起来像 SCSI 驱动器,因此您可以进行 INQUIRY、READ、WRITE 等操作。通常闪存驱动器的控制器制造商可能有一个特定于供应商的“后门”,一般公众不知道。

    【讨论】:

    • 大多数 USB 驱动器控制器供应商都有自己独特的“供应商特定”访问裸机芯片的方式,所以我不能真正代表所有这些,因为协议要么是机密的,要么不公开。假设 SCSI READ/WRITE BUFFER 具有特定于供应商的模式是有原因的。
    【解决方案4】:

    我会看here。他们使用一种叫做 Mass Storage 的东西。

    【讨论】:

      【解决方案5】:

      虽然 USB 协议相当通用,但外围设备实际上是特定于功能的,需要主机上的某种设备驱动程序才能正常运行。

      虽然 USB 闪存驱动器上有一个微控制器,但大多数 USB 存储设备都遵循通用协议。这就是为什么您不必为插入 Windows 的每个驱动器安装不同的设备驱动程序。

      我很确定大容量存储协议没有“打开 LED”消息 :) 虽然实现 USB 驱动器的公司实际上可能有一个特殊的命令来执行此操作(可能用于调试),但我怀疑它是否会被发布。

      虽然我不是 Windows 的专家,但我相信为了让您直接访问 USB 堆栈,您必须编写自己的设备驱动程序并将其插入内核中。你能想象一个常规应用程序是否可以将“格式化所有内容”命令发送到任意 USB 设备。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-02
        • 2011-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多