我做好固件程序了,但是现在设置好isp1581的寄存器后,能够接到多次busreset中断,每次都很多,大家看看我的寄存器设置,看看有什么问题void Init_D14_SFR(void){//enable Global Interrupt enable//enable soft...
全文
回复(11) 2004-07-24 10:20 来自版块 - USB驱动开发
表情
metalwing首先祝贺你的进展. 不用谢,互相帮助才能共同进步. 你要进行什么样的数据传输?写驱动找本书先看看,DS,WINDRV,等等, 可以先看看WDM方面的书.有一个概念后再动手. 祝你早日成功.(2004-07-26 09:09)
wangjisheng非常感谢metalwing 我找到了问题了,是我在busreset中断中对softconnect进行从新赋值,并不是做与操作,导致softconnect断开,所以再联上的时候又受到busreset中断,现在能够枚举成功了,下一步好好的消化程序,然后编写驱动,能不能指导一下如何进...(2004-07-25 21:09)
metalwingBUSRESET过程不会对SOFTCONNET有影响,所以你可以不去管它,既不置位,也不清除,试试看.(你初始化1581是否对SOFTCONNET作了什么?) 另:在总线复位后,你应当收到STANDARD REQUEST,你看你收到没有.(2004-07-25 16:45)
wangjisheng对的,我是在isr的中断子程序中将connectsof置1了 但是没有重新写0,再写1,周立功的程序,和philips公司的程序都是这样做的, if(USB_Int_Flag.BITS.RESET) { //清除总线复位中断位 USB_Int_Flag.B...(2004-07-25 16:27)
metalwing是啊,应该只有一次BUSREST中断.你看一下,是否你在BUSRESET里将 0X0C寄存器又重新置位了?在BUSRESET处理过程中,不需要将它置位. 特别是SOFTCONNET.不知是不是这个原因.(2004-07-25 12:37)
wangjisheng谢谢,我已经连上usbconnect了,0c->1, 已经有usb的图表了,但是我现在能够收到很多次busreset中断,我感觉就不太对了吧,别的中断没有啊,一直都是这个(2004-07-25 10:25)
metalwing在23 01 14 00 01 00 00 00之后,BUSHOUND应该能看到你的设备描述符:12 01 ....,而你的好象没有返回这个,你看看你的固件程序,最好跟一下,看它是否进到发送设备描述符里去了,并看是否发送设备描述符了.(2004-07-25 09:51)
metalwing从现象上看,是设备没连上(0X0C的最低位没置1),它的数据是USBD向 HUB发的HUB类REQUEST,具体的意思你可以看USB2.0协议的第11.24. 你的BUSHOUND的13是HUB吧?没进到设备里(或你没采设备信息).(2004-07-25 09:38)
wangjisheng我用的是dsp 5409 16位总线,所以寻址的时候只对14和16两个地址操作就能够对中断enable置位了,不象单片机8位的, 而且先阶段只是初始化,对0ch地址写入08,还没有连接usb Usb_driver_wr(0x0c,0x8);所以,没有问题吧 现在我用...(2004-07-24 17:04)
metalwingUsb_driver_wr(0x14,0x3901); Usb_driver_wr(0x16,0x0000); 0X14,0X16中断ENABLE寄存器置位,那0X15呢?不置位你怎么知道来了 SETUP中断?不是通过中断触发?轮询0X19?(2004-07-24 12:44)

返回顶部