0

我正在使用 USB4Java 在线程上轮询某个 USB 设备,并在可用时立即读取数据。我面临的问题是没有available()像流一样的方法,它检查端口上可供读取的字节数(串行端口的 la NRSerial)。是否有对 USB 执行此操作的等效方法?如果没有,我可以简单地调用读取函数并等待超时吗?后者对我来说似乎太暴力了。

4

1 回答 1

0

除了轮询之外别无选择(至少在 USB 2.0 中)。这就是在 USB 中读取的工作原理:主机向设备请求数据。设备必须将要发送到主机的数据保存在缓冲区中并等待主机请求。只有 USB 3 允许设备在新数据进入缓冲区时通知主机(虽然从技术上讲,这也是主机轮询一个比启动读取传输更轻量级的标志)。

于 2016-05-04T11:56:56.383 回答