打印

关于CY7C68013用IOCTL_EZUSB_BULK_READ读取的问题,有酬劳

[复制链接]
5691|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qiushenwei88|  楼主 | 2010-7-13 17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用函数 DeviceIoControl (hDeviceR,
     IOCTL_EZUSB_BULK_READ,
         &bulkControlR,
         sizeof(BULK_TRANSFER_CONTROL),
         &buf[0],
         len,
         &nBytes,
         NULL);
读取数据,当读不到数据时,进程就会阻塞,一直等到FIFO中有数据时此函数才能执行完,要不然一直在等待数据,仿佛死机般,而我想让其等待几秒后,就跳出,请问怎样才能实现!万分感谢!
沙发
小工程师| | 2010-7-14 17:09 | 只看该作者
为什么不用XferData() API进行数据传输呢?再加个TimeOut()限定时间。

使用特权

评论回复
板凳
qiushenwei88|  楼主 | 2010-7-15 08:44 | 只看该作者
为什么不用XferData() API进行数据传输呢?再加个TimeOut()限定时间。
小工程师 发表于 2010-7-14 17:09

你好,没看到过XferData() API啊,能详细说下吗?

使用特权

评论回复
地板
justnight| | 2010-7-15 10:06 | 只看该作者
CyAPI.pdf里有关XferData的说明

使用特权

评论回复
5
小工程师| | 2010-7-15 15:30 | 只看该作者
对的,CyAPI.pdf文件有详细的说明

使用特权

评论回复
6
qiushenwei88|  楼主 | 2010-7-15 16:34 | 只看该作者
我们没用CyAPI这个库

使用特权

评论回复
7
cosmicy| | 2010-7-16 21:28 | 只看该作者
用个线程实现,可能会好些。

使用特权

评论回复
8
cosmicy| | 2010-7-16 21:30 | 只看该作者
另外,还可以通过CYAPI数据手册中的一个更改时间的函数,好像是timeout()来更改等待的时间也可以。

使用特权

评论回复
9
qiushenwei88|  楼主 | 2010-7-26 09:06 | 只看该作者
用个线程实现,可能会好些。
cosmicy 发表于 2010-7-16 21:28

我们就是用的线程另外,“还可以通过CYAPI数据手册中的一个更改时间的函数,好像是timeout()来更改等待的时间也可以。”CYAPI我们没有用,能详细说说吗?

使用特权

评论回复
10
小工程师| | 2010-7-26 16:57 | 只看该作者
附上CyAPI文档,对XferData(),TimeOut()有使用说明,讲的很详细。

CyAPI.pdf

1.89 MB

使用特权

评论回复
11
cosmicy| | 2010-7-26 20:25 | 只看该作者
问题解决了吗,有什么酬劳啊?

使用特权

评论回复
12
qiushenwei88|  楼主 | 2010-7-28 08:47 | 只看该作者
附上CyAPI文档,对XferData(),TimeOut()有使用说明,讲的很详细。
小工程师 发表于 2010-7-26 16:57
多谢了!!
请问CyAPI.lib,CyAPI.h,CyUsb.sys等这些在哪里能下载到?

使用特权

评论回复
13
zero10| | 2010-7-28 13:32 | 只看该作者
CY7C68013有两个版本的驱动程序,早期版本开放源代码但不支持异步通信,可通过多线程模拟异步通信.
最新版本的驱动程序不开放源代码但支持异步通信,可设超时等待时间.具体的可去cypress官方网站瞅瞅,有一个驱动开发包.名曰:Cypress Suite USB 3.4.1
CyAPI.lib是基于新版本驱动的

使用特权

评论回复
14
zhuww| | 2010-7-29 21:02 | 只看该作者
关注什么酬劳

使用特权

评论回复
15
zhuww| | 2010-7-29 21:02 | 只看该作者
;P

使用特权

评论回复
16
lium| | 2010-7-29 21:28 | 只看该作者
这标题,不得不进来看看啊

使用特权

评论回复
17
qiushenwei88|  楼主 | 2010-8-26 08:58 | 只看该作者
问题已解决,zero10说的很对。我们是用的老版本的。
“可去cypress官方网站瞅瞅,有一个驱动开发包.名曰:Cypress Suite USB 3.4.1
CyAPI.lib是基于新版本驱动的”这个我怎么下载的不能安装啊,是不是下载的不对。哪位有这些文件的能不能传上来共享下,谢谢!!

使用特权

评论回复
18
wsyycc| | 2013-12-4 10:47 | 只看该作者
小工程师 发表于 2010-7-14 17:09
为什么不用XferData() API进行数据传输呢?再加个TimeOut()限定时间。

之前用的是ezusb.sys 和deviceiocontrol进行传输
如果改为cyusb.sys 和 CyAPI进行传输的话改动大吗?
都需要改动哪些部分呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

13

帖子

0

粉丝