0

我已经购买了一个 teensy 3.0,希望我可以用它来模仿另一个硬件的 USB 批量传输。

我正在开发一些软件来读取和处理通过 USB 批量传输的数据

但我正在尝试在实际使用 USB 设备进行测试之前执行此操作

因此,我认为我可以通过让一个青少年通过 USB 发送一些有代表性的数据包来模仿实际的设备。

我知道 USB 数据包格式,因此可以使用预期的二进制格式敲出一些 char 数组。然后我会编写一个程序(希望在 C 中,因为这就是我所知道的),它封装了这些字符缓冲区,然后尝试通过 USB 将它们作为批量传输发送,我认为可能使用 libusb。我必须使用正确的构建工具(avr-gcc 和 halfkay?)构建并将其加载到 teensy,然后插入 teensy 并希望它的行为就像我试图模拟的设备一样

这听起来可行/可能吗?

任何人都可以建议代码的外观或任何好的教程吗?我对此很陌生,我什至不知道要搜索什么。

可能是我必须学习'arduino'而不是能够用C编写程序吗?

4

1 回答 1

1

首先让我澄清一下我从你的问题中理解的内容。

您正在创建一个可以分析通过 USB 传输的任何数据的软件。您正在尝试使用 Teensy 将数据发送到 USB,然后对其进行处理。

现在,可行性的答案在于您的软件的兼容性。如果您的软件能够从初始化为COM 端口的 USB 读取数据,那么只有这样您的软件才能读取该数据。

这是因为Teensy 和 Arduino都使用带有FTDI芯片的 USB 端口,该芯片作为串行通信器与所有其他设备进行通信。这是一个靠近 USB 端口的小芯片。

现在,如果您的软件能够从 COM 端口读取数据,那么在对 Teensy 进行编程时,您只需使用带有循环的usb_serial_write()函数。你可以在这里获得更多帮助。

但是,如果您的软件无法从串行 COM 端口读取数据,还有许多其他应用程序(例如Teraterm)可以将接收到的数据存储到文件中。然后,您可以使用此文件提取数据并进行处理。

于 2014-12-12T12:34:35.070 回答