我正在使用USB4Java轮询线程上的某个USB设备,并在数据可用时立即读取数据。我面临的问题是,没有像streams那样的available()方法,它检查端口上可供读取的字节数(就像串行端口的NRSerial一样)。对于USB,有没有同等的方法来做这件事?如果没有,我是否可以简单地调用read函数并等待超时?对我来说,后者似乎太蛮横了。
发布于 2016-05-04 19:56:56
除了轮询之外没有其他选择(至少在USB2.0中是这样)。这就是在USB中读取数据的方式:主机向设备请求数据。设备必须将要发送到主机的数据保存在缓冲区中,并等待主机请求它。只有USB3允许设备在新数据在缓冲区中时通知主机(尽管从技术上讲,这也是主机轮询比启动读取传输更轻量级的标志)。
https://stackoverflow.com/questions/37016476
复制相似问题