这是我的问题:我不知道如何手动在USB电缆上的特定线路上传输0/1,甚至无法与USB端口进行交互:(
所以我想这个问题有多个部分,是否可能直接与通过USB端口发送的位进行交互?如果可以,我该怎么做?我熟悉C++和C#,所以希望你能用其中一种语言完成它...
谢谢!
编辑:嗯,看起来USB端口实际上只有一个5V引脚,因此直接的USB交互不起作用。我将查看并回来尝试使用并行适配器。
如果电线的另一端没有USB接口,则USB不适合任何事情。如果您不想自己构建USB设备,我建议购买USB串行适配器,它可以为您提供两个可直接控制的输出线(流控制线),或者购买USB并口适配器,它可以为您提供超过8条线。
Chris Johnson的答案中有链接指向Windows串行端口编程说明。您需要查看第7节 - SETDTR
,CLRDTR
,SETRTS
和CLRRTS
是您的流控制线切换(分别为DTR和RTS线)。
就硬件而言,“1”(设置)值在流控制线上的电压为+3至+15伏特,并且“0”为-3至-15伏特。实际电压可能因设备而异;进行测量以确保正确。(已编辑;我把1和0搞混了。控制线使用与数据线相反的约定。)
编辑:在对USB至并行适配器进行更多研究后,我不认为它们提供所需的控制级别。 为了获得最佳结果,您需要PCI或PCMCIA并口卡,或者集成到主板中的并行端口。
我不是Windows程序员,但这个库可能有助于从Windows控制并口的线路。
我曾经做过与你类似的东西(我曾经用USB设备驱动汽车电动窗,使用了MOSFET H桥(图中的HDR1X8)来驱动电机)。你需要一个USB到I/O设备这是我使用的(我用的是U421,它们完美地适配面包板的中心线,如果你没有分裂的面包板,401也可以很好地适配面包板。
他们会给你一个dll文件,你只需要将其链接到你的代码中。就像调用WriteA和WriteB一样简单,用于向你的mosfet设备写入输出。请注意,逻辑电平线不适合驱动电流,因此如果你希望有任何中等到大型电流流动,你需要将其连接到晶体管上。请参见usbmicro网站上应用笔记菜单中的App1,以了解正确的连接方式。