我购买了一台小型3.0,希望我可以用它来模仿另一台硬件的USB批量传输。
我正在开发一些软件来读取和处理通过USB进行批量传输的数据
但我想在实际让USB设备进行测试之前尝试这样做
因此,我认为我可以模仿实际的设备,通过USB发送一些代表性数据包代替。
我知道USB数据包格式,因此可以使用预期的二进制格式敲除一些char数组。然后我会编写一个程序(希望在C中,就像我所知道的那样)封装那些char缓冲区,然后尝试通过USB发送它们作为批量传输,我想可能使用libusb。我必须使用正确的构建工具(avr-gcc和halfkay?)构建并加载到teensy上,然后插入teensy并希望它的行为类似于我试图模拟的设备
这听起来可行/可能吗?
任何人都可以建议代码看起来像什么或任何好的教程?我是新来的,我甚至不知道该搜索什么。
可能是因为我必须学习'arduino'而不是能用C编写程序吗?
答案 0 :(得分:1)
首先让我清楚一下我从你的问题中理解的内容。
您正在创建一个可以分析任何可以通过USB传输的数据的软件。 您正在尝试使用Teensy将数据发送到USB,然后进行处理。
现在,可行性的答案在于您的软件的兼容性。如果您的软件能够从初始化为 COM端口的USB读取数据,那么只有您的软件才能读取该数据。
这是因为 Teensy和Arduino 都使用带有 FTDI 芯片的USB端口,该芯片与所有其他设备作为串行通信器进行通信。这是USB端口附近的一个小芯片。
现在,如果您的软件能够从COM端口读取数据,那么在编写Teensy时,您只需使用 usb_serial_write()函数进行循环。您可以获得here以上的更多帮助。
但是,如果您的软件无法从串行COM端口读取,则还有许多其他应用程序(如Teraterm)可将接收的数据存储到文件中。然后,您可以使用此文件提取数据并进行处理。