怎样才能实现

[复制链接]
821|16
 楼主| houcs 发表于 2017-11-27 17:45 | 显示全部楼层 |阅读模式
用函数 DeviceIoControl (hDeviceR,
      IOCTL_EZUSB_BULK_READ,
          &bulkControlR,
          sizeof(BULK_TRANSFER_CONTROL),
          &buf[0],
          len,
          &nBytes,
          NULL);
读取数据,当读不到数据时,进程就会阻塞,一直等到FIFO中有数据时此函数才能执行完,要不然一直在等待数据,仿佛死机般,而我想让其等待几秒后,就跳出,请问怎样才能实现!
liuzaiy 发表于 2017-11-27 17:47 | 显示全部楼层
为什么不用XferData() API进行数据传输呢?
yinxiangh 发表于 2017-11-27 17:49 | 显示全部楼层
对头,再加个TimeOut()限定时间。
pangb 发表于 2017-11-27 17:51 | 显示全部楼层

没看到过XferData() API啊,能详细说下吗?
chenjunt 发表于 2017-11-27 17:52 | 显示全部楼层
CyAPI.pdf里有关XferData的说明
ousj 发表于 2017-11-27 17:54 | 显示全部楼层

对的,CyAPI.pdf文件有详细的说明
 楼主| houcs 发表于 2017-11-27 17:58 | 显示全部楼层
我们没用CyAPI这个库
morrisk 发表于 2017-11-27 17:59 | 显示全部楼层

用个线程实现,可能会好些。
zyf部长 发表于 2017-11-27 18:00 | 显示全部楼层
还可以通过CYAPI数据手册中的一个更改时间的函数,好像是timeout()来更改等待的时间也可以。
 楼主| houcs 发表于 2017-11-27 18:02 | 显示全部楼层
多谢楼上,请问CyAPI.lib,CyAPI.h,CyUsb.sys等这些在哪里能下载到?
zwll 发表于 2017-11-27 18:04 | 显示全部楼层

CY7C68013有两个版本的驱动程序
 楼主| houcs 发表于 2017-11-27 18:05 | 显示全部楼层
chuxh 发表于 2017-11-27 18:07 | 显示全部楼层
早期版本开放源代码但不支持异步通信,可通过多线程模拟异步通信.
juventus9554 发表于 2017-11-27 18:09 | 显示全部楼层
最新版本的驱动程序不开放源代码但支持异步通信,可设超时等待时间
stly 发表于 2017-11-27 18:11 | 显示全部楼层

具体的可去cypress官方网站瞅瞅,有一个驱动开发包.名曰:Cypress Suite USB 3.4.1
llljh 发表于 2017-11-27 18:12 | 显示全部楼层
对,CyAPI.lib是基于新版本驱动的
 楼主| houcs 发表于 2017-11-27 18:13 | 显示全部楼层


问题已解决,原来我是用的老版本的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

743

主题

8382

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部