阅读:1821回复:6
谁用端点0传输过数据啊?给段代码吧,一定给分
用CYPRESS的说明,用函数DEVICEIOCONTROL去做不行啊?都调了N天了,救救我吧!!!!
|
|
沙发#
发布于:2004-07-01 08:00
bResult = DeviceIoControl(hDevice,
IOCTL_SEND_USB_REQUEST, (PVOID)&ioBlockEx, sizeof(IO_BLOCK_EX), (PVOID)buf, ioBlockEx.uLength, &nBytes, NULL); |
|
板凳#
发布于:2004-07-01 09:57
分给了!我就是这样做的,可是应用程序就是和固件配合不起来啊! :(
|
|
地板#
发布于:2004-07-01 10:58
怎么可能?
cy提供了两种处理厂商请求的方法: 一种是用VENDOR_OR_CLASS_REQUEST_CONTROL声明的结构,它对应的应该是IOCTL_Ezusb_VENDOR_OR_CLASS_REQUEST 一种是VENDOR_REQUEST_IN声明的结构没,它对应的CTL_CODE是IOCTL_EZUSB_VENDOR_REQUEST 其中前者可以用来发送大量数据,后者只能用来发送一个字节的数据! |
|
地下室#
发布于:2004-07-01 11:21
任兄,谢谢了,你说得那两种结构我都试了!:(我还是好好的把EZMR的源代码研究研究再说!因为我用EZMR完全可以传输数据,有好消息告诉你!
|
|
5楼#
发布于:2004-07-01 15:24
呵呵,就是,靠天靠地不如靠自己
遗憾的是很多时候并不能公开源代码 所以总是心有余而力不足。 |
|
6楼#
发布于:2004-07-02 08:22
这个分得的实在是惭愧。因为我没有cy的硬件,没有办法测试。但就源代码来看。
// cy的源代码 #define IOCTL_EZUSB_GET_CURRENT_FRAME_NUMBER CTL_CODE(FILE_DEVICE_UNKNOWN, Ezusb_IOCTL_INDEX+21, METHOD_BUFFERED, FILE_ANY_ACCESS) // 我所使用的 #define IOCTL_SEND_USB_REQUEST CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+9, METHOD_BUFFERED,FILE_ANY_ACCESS) 我使用的是一个标准的USB的方式,在cy的驱动中用的是自己定义的一种方式。 |
|