阅读:2978回复:34
各位大侠 帮帮忙啊 关于ISP1581
我现在用ISP1581做一个USB设备,用DSP做控制IC,我的驱动是参考周立功DP1581改的,各项寄存器设置是一样的,现在连USB―SETUP都进不去,我在中断程序里设置断点,发现每次产生中断都是总线挂起中断,PC机根本就没有反应,而产生一次之后,PC机的USB端口就不能用了(我用USB移动硬盘试的),每次都得重启机子,请各位大侠指点一二
|
|
沙发#
发布于:2004-06-11 10:17
同样关注。我和你做的一样,但是还没有你这么深
|
|
板凳#
发布于:2004-06-11 10:19
你是做驱动还是控制?怎么在中断程序中设置端点?
用keilc吗?是不是isr。c中? |
|
地板#
发布于:2004-06-11 10:24
你是做驱动还是控制?怎么在中断程序中设置端点? 做底层啊 初始化完之后打开软件连接中断就进去了,我用是的CCS,可在中断里设置断点 |
|
地下室#
发布于:2004-06-11 11:17
我也是用 ISP-1581 的,你的BUSRESET 可以清掉吗?
我在BUSRESET后,就无法重写 INTERRUPT SOURCE 的 BUSRESET 位(18H 的最低位),清 INTERRUPT ENABLE 的 BUSRESET 位(14H 的最低位)无效,仍然响应 BUSRESET 中断,你是怎么清掉 BUSRESET 中断的, 希望赐教,谢谢。 |
|
|
5楼#
发布于:2004-06-11 11:24
我也是用 ISP-1581 的,你的BUSRESET 可以清掉吗? 18H我一直写不了只能读 14H可写 我在 BUSRESET之后 加了个重新初始化,不过一次也没碰到这个情况 ,每次都是响应SUSP中断 |
|
6楼#
发布于:2004-06-11 11:39
是呀,我也重新初始化了,但它老是响应 BUSRESET 中断,关了
ENABLE 也没用,不知为什么。 |
|
|
7楼#
发布于:2004-06-11 12:32
是呀,我也重新初始化了,但它老是响应 BUSRESET 中断,关了 一起交流交流啊 QQ:32634068 MSN beaumenu@hotmai.com |
|
8楼#
发布于:2004-06-11 12:34
上层下来了的命令没? 你接收到命令没? 我现在用ISP1581做一个USB设备,用DSP做控制IC,我的驱动是参考周立功DP1581改的,各项寄存器设置是一样的,现在连USB―SETUP都进不去,我在中断程序里设置断点,发现每次产生中断都是总线挂起中断,PC机根本就没有反应,而产生一次之后,PC机的USB端口就不能用了(我用USB移动硬盘试的),每次都得重启机子,请各位大侠指点一二 |
|
|
9楼#
发布于:2004-06-11 12:58
我没 QQ-_-! :(
|
|
|
10楼#
发布于:2004-06-11 13:24
[quote]
上层下来了的命令没? 你接收到命令没? [quote] 我不清楚啊,PC机根本就没反映,什么都没出现。现在进中断只是SUSP中断 ,我量的D+,D―上信号都要,进了一次然后就不进中断了,PC机上USB端口就死了 帮帮忙啊 ,搞了好长时间了 QQ 32634068 MSN beaumenu@hotmail.com |
|
11楼#
发布于:2004-06-11 14:21
我刚才发现,1581的INTERRUPT SOURCE(18H)的清除是通过置位
实现的。如:你的SUSP中断是第四位,那么向第四位写入一个1就可以了。 MOV R1, #18H MOV A, #08H MOVX ?R1, A 你老是中断,大概是没有清吧。试试看。 |
|
|
12楼#
发布于:2004-06-11 14:25
你是否用 BUSHOUND?你的 USB 返回设备标示符了吗?我BUSRESET
后就没反应了,不知为什么。帮我看看可以吗?讨论讨论。 我的信息: |
|
|
13楼#
发布于:2004-06-11 14:30
我刚才发现,1581的INTERRUPT SOURCE(18H)的清除是通过置位 我用的是DSP 不可能能一位位赋值啊 你的那个打不开 |
|
14楼#
发布于:2004-06-11 14:35
打不开?再试试。
我看别人的程序,就是一句: //清除总线复位中断位 USB_Int_Flag.BITS.RESET = 0; //设置总线复位标志 Kernel_Flag.BITS.Bus_Reset = 1; 我不知道你的怎么样。 |
|
|
15楼#
发布于:2004-06-11 14:45
现在我的可以打开了,在我的主题中,还有别人的可以对照。
帮忙看看。谢谢。 FLYHYE 也帮下,太谢谢了。 |
|
|
16楼#
发布于:2004-06-11 14:45
嘻嘻,我刚刚解决这个问题。
周立功给的源码里有一些bug. 在函数Init_8051里要将下面一句前面的注释拿掉。 // EX0 = 1; //开ISP1581中断 这样才能收到usb中断。 不然总线空置一段时间后就进入挂起状态。 不知道你的是不是同样的原因。 |
|
17楼#
发布于:2004-06-11 14:51
我没用BusHound
我在底层板子上是单步调试的,USB-SETUP根本进不去,每次进中断都是SUSP,然后我清掉了,然后再也进不去中断,程序就一直在判断中断位USB-INT-FLAG。 |
|
18楼#
发布于:2004-06-11 14:53
嘻嘻,我刚刚解决这个问题。 我能收到中断,就是检测到一个挂起中断,然后我量中断信号的管脚就一直没变化 |
|
19楼#
发布于:2004-06-11 14:53
我也没有进 SETUP,SETUP 就没来,不知为什么。
|
|
|
上一页
下一页