一直等到FIFO中有数据时此函数才能执行完

[复制链接]
1327|21
 楼主| liuzaiy 发表于 2016-4-7 20:47 | 显示全部楼层 |阅读模式
用函数 DeviceIoControl (hDeviceR,
     IOCTL_EZUSB_BULK_READ,
         &bulkControlR,
         sizeof(BULK_TRANSFER_CONTROL),
         &buf[0],
         len,
         &nBytes,
         NULL);
读取数据,当读不到数据时,进程就会阻塞,一直等到FIFO中有数据时此函数才能执行完
yinxiangh 发表于 2016-4-7 20:50 | 显示全部楼层
然后呢
 楼主| liuzaiy 发表于 2016-4-7 20:51 | 显示全部楼层
要不然一直在等待数据,仿佛死机般
ousj 发表于 2016-4-7 20:53 | 显示全部楼层
用法有问题
 楼主| liuzaiy 发表于 2016-4-7 20:55 | 显示全部楼层
我想让其等待几秒后,就跳出,请问怎样才能实现!万分感谢!
zyf部长 发表于 2016-4-7 20:56 | 显示全部楼层

为什么不用XferData() API进行数据传输呢?
小小猫咪 发表于 2016-4-7 20:56 | 显示全部楼层
对,再加个TimeOut()限定时间。
 楼主| liuzaiy 发表于 2016-4-7 20:58 | 显示全部楼层
你好,没看到过XferData() API啊,能详细说下吗?
kangzj 发表于 2016-4-7 20:59 | 显示全部楼层
CyAPI.pdf里有关XferData的说明
zwll 发表于 2016-4-7 21:00 | 显示全部楼层
对的,CyAPI.pdf文件有详细的说明
 楼主| liuzaiy 发表于 2016-4-7 21:01 | 显示全部楼层
我们没用CyAPI这个库
chuxh 发表于 2016-4-7 21:02 | 显示全部楼层
用个线程实现,可能会好些。
juventus9554 发表于 2016-4-7 21:03 | 显示全部楼层
另外,还可以通过CYAPI数据手册中的一个更改时间的函数,好像是timeout()来更改等待的时间也可以。
 楼主| liuzaiy 发表于 2016-4-7 21:04 | 显示全部楼层
我们就是用的线程另外,“还可以通过CYAPI数据手册中的一个更改时间的函数,好像是timeout()来更改等待的时间也可以。”CYAPI我们没有用,能详细说说吗?
司徒老鹰 发表于 2016-4-7 21:06 | 显示全部楼层
你看看CyAPI文档,对XferData(),TimeOut()有使用说明,讲的很详细
 楼主| liuzaiy 发表于 2016-4-7 21:08 | 显示全部楼层
请问CyAPI.lib,CyAPI.h,CyUsb.sys等这些在哪里能下载到?
llljh 发表于 2016-4-7 21:10 | 显示全部楼层
CY7C68013有两个版本的驱动程序,早期版本开放源代码但不支持异步通信,可通过多线程模拟异步通信.
最新版本的驱动程序不开放源代码但支持异步通信
dingy 发表于 2016-4-7 21:12 | 显示全部楼层
对,可设超时等待时间.具体的可去cypress官方网站瞅瞅
pengf 发表于 2016-4-7 21:13 | 显示全部楼层
对,有一个驱动开发包.
CyAPI.lib是基于新版本驱动的
 楼主| liuzaiy 发表于 2016-4-7 21:14 | 显示全部楼层
CyAPI.lib是基于新版本驱动的”这个我怎么下载的不能安装啊,是不是下载的不对。哪位有这些文件的能不能传上来共享下,谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

735

主题

7546

帖子

2

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