阅读:3207回复:31
请教哪位用过control panel下的bulktest的例子
为什么pipecount=0?
如果按照固件应该是14才对。 |
|
沙发#
发布于:2002-11-16 14:34
你没连上吧
|
|
|
板凳#
发布于:2002-11-17 11:39
把固件down下去不就行了吗?我用过了vend_ax那个例子,对E2PROM的读写用编程器看了是正确的,但是现在用这个例子,发现pipecount根本就不对,自已改pipecount>0后,发现运行到bulk_read和bulk_write均会报错。
|
|
地板#
发布于:2002-11-18 08:35
把bulktest固件通过control panel下载到片中后,发现固件根本不能工作,不能和应用程序交互。
|
|
地下室#
发布于:2002-11-18 21:43
不知在control panel中怎样使用bulktest例子,望用过的大侠指教一二
|
|
5楼#
发布于:2002-11-19 11:19
1. download bulktest.hex
2. choose Pipe 1:Endpoint2 OUT 3. BulkTrans 4. ok |
|
|
6楼#
发布于:2002-11-19 13:13
你是不是把最下一栏的的设置改成 alter setting = 0 了?
ezusb default device 支持三种配置,配置 0 没有 valid endpoint (除了控制中断外) |
|
|
7楼#
发布于:2002-11-19 15:43
1.down了bulktest.hex后,interface=0,altsetting=1;后setinterface;
2.getpipe 3.choose Pipe 2:Endpoint2 OUT 4.用默认值,length=64, hex value=5;按bulktrans出现了 Write IOCTL passed 0000 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 0010 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 0020 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 0030 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 5.但是用choose Pipe 1:Endpoint2 IN总是得不到结果。 我看了固件程序,我想应该是当主机发出了bulk_out后,固件将其值取反后放入相应的INBUF,等待主机发出bulk_in,因此,应该在选择 control panel 中的Pipe 1:Endpoint2 IN后按bulktrans应该能将取反后的值读出来。 但是我现在做不到这一步。 另外问一下,用control panel将bulktest.hex download后,在bulktest的主机程序中,pipecount=0,这样,for语句中 deviceiocontrol的bulk_write和bulk_read根本执行不了,只能执行到最后一句pass++,这是因为在testtread中一开始的IOCTL:get_pipe_info根本就没有得到固件的设备描述符,不知何故? |
|
8楼#
发布于:2002-11-19 15:47
我用了vend_ax例子,结果正确,但vend_ax用的是0管道,不知有没有可能是硬件问题
|
|
9楼#
发布于:2002-11-20 09:52
bulktest的主机程序到行到
bResult = DeviceIoControl (hDevice, IOCTL_EZUSB_BULK_WRITE, &bulkControl, sizeof(BULK_TRANSFER_CONTROL), dispbuff , outPacketSize, &nBytes, NULL); if (bResult != TRUE) { UsbControl->error_report(\"bulk Out failed \"); } 就会出现bulk out failed 错误,根本无法对设备进行读写 |
|
10楼#
发布于:2002-11-20 13:51
control panel 中 view 里有个 operation hand ,你打开看看是个什么状况.
bulk transfer write 之后,紧跟着 bulk transfer read 应该是可以操作的.你看看 control panel 的帮助里头 example ,是不是故意弄成读失败了.我记不清 ezsub.sys 有没有进行数据比较了. 我将 bulktest 的firmware 该了一下,没取反,试的没问题. 主机程序挺烂的,你多试几次. 一定要钩上 in = not out. |
|
|
11楼#
发布于:2002-11-20 15:30
control panel 中view里没有operation hand啊?
另外不知你的固件程序是怎么下到片中的,我的是通过control panel下载的,另外,vend_ax能用,但vend_ax用的是pipe 0;不知为何除了pipe 0,其它的pipe都不能用,固件里也enable了pipe了 |
|
12楼#
发布于:2002-11-20 18:52
view 菜单下第三行 pendingops (pending opration)。
我刚才试了,没问题的。我也用 control panel 下载,并测试。 你 download 之后,先按一下 getpipes 更新管道。你再取设备描述符、配置描述符看有没有错。 下载之后, vid&pid = 0547-1002.配置描述符的总长度是114. 共14个管道(7in 7 out). 全部用 control panel 测试. |
|
|
13楼#
发布于:2002-11-20 19:31
pending operation里看不出什么来啊?都是一闪就过去了。
我先download了bulktest.hex 然后改altsetting=1, setinterface后getpipe 然后getDev得到 Device Descriptor: bLength: 18 bDescriptorType: 1 bcdUSB: 256 bDeviceClass: 0xff bDeviceSubClass: 0xff bDeviceProtocol: 0xff bMaxPacketSize0: 0x40 idVendor: 0x547 idProduct: 0x2131 bcdDevice: 0x4 iManufacturer: 0x0 iProduct: 0x0 iSerialNumber: 0x0 bNumConfigurations: 0x1 这仍然和固件里的描述符不吻合 |
|
14楼#
发布于:2002-11-20 20:01
我在vend_ax的基础上,可以让PORTA上输出方波,但同样的代码到了bulktest上就执行不了
|
|
15楼#
发布于:2002-11-20 23:16
能不能把你用的驱动给我发一个,我现在怀疑我的驱动有问题,不能正确解释主机命令,因为vend_ax例子中是运行在setupcommand()这个case中的default,所以它总是能执行到。
|
|
16楼#
发布于:2002-11-20 23:16
能不能把你用的驱动给我发一个,我现在怀疑我的驱动有问题,不能正确解释主机命令,因为vend_ax例子中是运行在setupcommand()这个case中的default,所以它总是能执行到。
baiding@263.net.cn 谢谢 |
|
17楼#
发布于:2002-11-21 00:01
我想问一下你说的驱动是什么东西?
|
|
|
18楼#
发布于:2002-11-21 09:25
是2131的那个通用驱动程序
|
|
19楼#
发布于:2002-11-21 10:59
老兄我想问个问题,如果我的现在将我做的板子用USB口连到计算机上,然后打开CONTROL PANEL,这样是否就可以使用了呢,是否还需要添加一些驱动呢,如果要添加,这些驱动从哪里找呢?
|
|
|
上一页
下一页