0

我已将 USB 电缆插入计算机,其中 D+ 和 D- 引脚连接到万用表。我想发送一些原始字节以获得一些电压..有可能吗?

我 99% 确定我插入的 USB 端口类似于 /dev/bus/usb/002

我知道有可能对 LPT 或 RS232 端口做同样的事情。

4

3 回答 3

2

RS232 和 LPT 不是总线!USB 设备需要被寻址才能变得可访问。

也许卸载并重新加载驱动您的 USB 主机的 USB 驱动程序......或尝试在 USB 集线器主机上进行重置......

为了在usb端口上进行这种操作,你必须打破usb内核驱动程序并鞭打所有寻址操作来直接寻址芯片组......

总之,由于 USB 的概念,我不确定您是否可以成功地保持插座上的某些电源状态。

为了玩这种物理 IO,有两个解决方案:

安装低成本 RS-232 <-> USB 适配器

或更好

购买用于原型设计和开发的Arduino微控制器。

于 2012-12-28T17:18:54.073 回答
1

我几乎 100% 确定,除非您在另一端确实有设备,否则您无法通过 USB 线发送任何内容。如果你仍然想玩这个,买一个便宜的记忆棒,把它的外壳拆开[不要太粗略],然后在向记忆棒传输大文件的同时测量,或者类似的。

但我不确定你的万用表会显示多少,因为与 USB 速率相比,它们往往有点慢。

于 2012-12-28T17:01:26.417 回答
1

USB使用数据线上的上拉/下拉电阻来检测端口是否连接(设备端1.5k上拉至3.3v,主机端IIRC下拉15k)。确切的连接取决于设备速度。

因此,如果您连接适当的电阻器,主机应尝试开始发出信号。由于数据速率的原因,您可能无法在万用表上看到它;示波器会更合适。

如果您想绕过普通的 USB 协议并只是盲目地发送数据,我认为您需要亲自动手编写代码来绕过通常的设备驱动程序并直接访问 USB 硬件。即便如此,我也不确定有什么可能——USB 硬件比优秀的 LPT 和 RS232 端口更智能,这可能会妨碍做这种低级的事情。

于 2012-12-28T22:59:37.550 回答