阅读:1233回复:2
为什么我的D12枚举的时候,我还未向端点in写数据,居然有in中断,望高手指点:)
现在在练习做一个d12的usb接口,按照周立功的思路写固件,硬件方面按找大家在网络上的帖子,好象能正常工作,goodlink也会闪,clockout也有输出,vout也是3.3。我用bushound看,枚举第一步getdescriptor的时候,设备有数据输出,不过是一些乱七八遭的数据,这样goodlink灯闪了3次以后就不闪了,后面调试的时候我发现,原来中断的时候跳到ep0in中断子程序里!!!然后子程序里往端点里写了16个数据!!!!而不是设置标志完,由主程序往in缓冲区写16字节!!!!为什么会这样,不是说只要往in缓冲区写数据才可能有in中断的吗??为什么??希望高手们指点一二,不胜感激!!
|
|
沙发#
发布于:2005-03-02 21:54
是我的程序错了,MCU的缓存区地址传递给子程序的时候错了~~~~~现在枚举节本成功了,也就是主机发现硬件,并要求装驱动程序~~~~~但是我发现:好象枚举只到读取配置描述符这里,主机就提示发现硬件,然后就没东西了,这是为什么????其他枚举由驱动完成???
14.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 41.1.0 14.0 DI 12 01 10 01 dc 00 00 10 71 04 66 06 00 01 00 00 ........q.f..... 41.2.0 14.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 42.1.0 14.0 DI 03 01 00 00 .... 42.2.0 14.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 43.1.0 14.1 DI 04 . 44.1.0 14.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 45.1.0 14.0 DI 03 01 10 00 .... 45.2.0 14.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 46.1.0 14.0 CTL 00 05 03 00 00 00 00 00 SET ADDRESS 47.1.0 14.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 48.1.0 14.0 DI 12 01 10 01 dc 00 00 10 71 04 66 06 00 01 00 00 ........q.f..... 48.2.0 00 01 .. 48.2.16 14.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 49.1.0 14.0 DI 09 02 2e 00 01 01 00 60 32 .......`2 49.2.0 14.0 CTL a3 00 00 00 01 00 04 00 GET STATUS |
|
板凳#
发布于:2005-03-03 12:24
你安装上驱动,能通讯就可以了啊
|
|
|