微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

由于重叠超时错误,FTDI USB 通信在不确定的时间后失败

如何解决由于重叠超时错误,FTDI USB 通信在不确定的时间后失败

我正在构建一个软件(在 c 中),它一方面使用 FTD3XX 库连接到带有 FT601 的设备,另一方面通过 TCP/套接字通信连接到另一个软件。
我正在使用多个线程 - 1. TCP 传入数据 + USB 传出数据 / 2. TCP 传出数据 / 3. USB 传入数据。 2 号和 3 号共享一个环形缓冲区。
对于 USB 传入(从 USB 异步读取),我使用 FTDI 数据流传输演示应用程序 1.3.0.4 作为模板:

  • SetStreamPipe
  • InitializeOverlapped
  • ReadPipeEx
  • 重新运行:
    • ReadPipeEx

在未定义的时间之后,GetoverlappedResult 总是抛出超时错误 (FT_STATUS: 19 / GetLastError(): 121)。一旦发生故障,即使重新启动计算机和设备,它也会一直存在。

谁能向我解释一下,发生了什么,我错过了什么/做错了什么?或者我该如何解决这个问题?

谢谢和最好的问候

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。