我最近在阅读关于Arduino的Hello World应用程序的文章,我心里想,"我想知道我是否可以用我现在拥有的硬件做到这一点."
由于我没有Arduino,我抓起了一个我已经铺设的USB闪存驱动器并开始在谷歌上搜索有关它的信息.我在这方面没有找到太多有用的信息,所以我现在在这里问:我是否可以访问USB驱动器的硬件(例如LED)并通过某些编程环境与它进行交互(我当时认为C#应该可能有办法做到这一点)?
此外,与此主题相关 - 有谁知道USB驱动器使用什么样的命令?例如,SCSI存储设备具有标准化的命令集; ATA设备具有类似的协议.如何向USB存储设备发出简单的读/写命令?
虽然USB协议非常通用,但外围设备确实是功能特定的,并且需要主机上的某种设备驱动程序才能正常运行.
虽然USB闪存盘上有微控制器,但大多数USB存储设备都遵循通用协议.这就是为什么您不必为插入Windows的每个驱动器安装不同的设备驱动程序.
我很确定大容量存储协议没有"打开LED"消息:)虽然实现USB驱动器的公司实际上可能有一个特殊命令(可能用于调试),我会怀疑它将发表.
虽然我不是Windows上的大师,但我相信为了让您直接访问USB堆栈,您必须编写自己的设备驱动程序并将其加载到内核中.您能想象一下常规应用程序是否可以将"format everything"命令发送到任意USB设备.