【发布时间】:2014-09-03 16:30:42
【问题描述】:
我正在使用支持高速 USB 的 32 位 AVR 微控制器 (AT32UC3A3256)。我想定期将数据从我的 PC 流式传输到设备(无需确认数据),就像 USB 音频接口一样,除了我要发送的数据不是音频。此处描述了这样的接口:http://www.edn.com/design/consumer/4376143/Fundamentals-of-USB-Audio。
我对 USB 同步传输有点困惑。我了解单次转移的工作原理,但如何以及何时计划下一次后续转移?我想要一个提前计算的连续数据流,但以最小的延迟和没有中断(除了一些偶尔的数据丢失)进行流式传输。据我了解,Windows 不是实时操作系统,因此我认为不应每隔 x 毫秒使用计时器来计划传输,而是使用中断/事件?或者,可能需要用尽可能多的数据连续填充缓冲区?
我认为我的问题仍然是关于 USB 的概念而不是与代码相关,但是如果有人想查看我的代码,我正在测试和修改 Atmel Studio 的 ASF 框架中的“USB Vendor Class”示例,该示例包含 AVR 的固件源和 Windows EXE 的源。 Windows 示例程序使用 libusb 和提供的驱动程序。
【问题讨论】:
标签: windows usb 32-bit avr libusb