beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:2978回复:34

各位大侠 帮帮忙啊 关于ISP1581

楼主#
更多 发布于:2004-06-11 09:41
我现在用ISP1581做一个USB设备,用DSP做控制IC,我的驱动是参考周立功DP1581改的,各项寄存器设置是一样的,现在连USB―SETUP都进不去,我在中断程序里设置断点,发现每次产生中断都是总线挂起中断,PC机根本就没有反应,而产生一次之后,PC机的USB端口就不能用了(我用USB移动硬盘试的),每次都得重启机子,请各位大侠指点一二
darydl
驱动小牛
驱动小牛
  • 注册日期2003-06-29
  • 最后登录2017-05-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-06-11 10:17
同样关注。我和你做的一样,但是还没有你这么深
darydl
驱动小牛
驱动小牛
  • 注册日期2003-06-29
  • 最后登录2017-05-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-06-11 10:19
你是做驱动还是控制?怎么在中断程序中设置端点?
用keilc吗?是不是isr。c中?
beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-11 10:24
你是做驱动还是控制?怎么在中断程序中设置端点?
用keilc吗?是不是isr。c中?


做底层啊 初始化完之后打开软件连接中断就进去了,我用是的CCS,可在中断里设置断点
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-11 11:17
我也是用 ISP-1581 的,你的BUSRESET 可以清掉吗?
我在BUSRESET后,就无法重写 INTERRUPT SOURCE 的
BUSRESET 位(18H 的最低位),清 INTERRUPT ENABLE
的 BUSRESET 位(14H 的最低位)无效,仍然响应
BUSRESET 中断,你是怎么清掉 BUSRESET 中断的,
希望赐教,谢谢。
新手上路,请多关照.
beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-06-11 11:24
我也是用 ISP-1581 的,你的BUSRESET 可以清掉吗?
我在BUSRESET后,就无法重写 INTERRUPT SOURCE 的
BUSRESET 位(18H 的最低位),清 INTERRUPT ENABLE
的 BUSRESET 位(14H 的最低位)无效,仍然响应
BUSRESET 中断,你是怎么清掉 BUSRESET 中断的,
希望赐教,谢谢。


18H我一直写不了只能读 14H可写
我在 BUSRESET之后 加了个重新初始化,不过一次也没碰到这个情况
,每次都是响应SUSP中断
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-06-11 11:39
是呀,我也重新初始化了,但它老是响应 BUSRESET 中断,关了
ENABLE 也没用,不知为什么。
新手上路,请多关照.
beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-06-11 12:32
是呀,我也重新初始化了,但它老是响应 BUSRESET 中断,关了
ENABLE 也没用,不知为什么。


一起交流交流啊
QQ:32634068
MSN beaumenu@hotmai.com
flyhye
驱动小牛
驱动小牛
  • 注册日期2003-07-01
  • 最后登录2012-01-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-06-11 12:34

上层下来了的命令没?
你接收到命令没?


我现在用ISP1581做一个USB设备,用DSP做控制IC,我的驱动是参考周立功DP1581改的,各项寄存器设置是一样的,现在连USB―SETUP都进不去,我在中断程序里设置断点,发现每次产生中断都是总线挂起中断,PC机根本就没有反应,而产生一次之后,PC机的USB端口就不能用了(我用USB移动硬盘试的),每次都得重启机子,请各位大侠指点一二
千载奇逢,无如好书良友 一生清福,只在碗茗炉烟
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-06-11 12:58
我没 QQ-_-! :(
新手上路,请多关照.
beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-06-11 13:24
[quote]
上层下来了的命令没?
你接收到命令没?


[quote]


我不清楚啊,PC机根本就没反映,什么都没出现。现在进中断只是SUSP中断 ,我量的D+,D―上信号都要,进了一次然后就不进中断了,PC机上USB端口就死了
帮帮忙啊 ,搞了好长时间了
QQ 32634068
MSN beaumenu@hotmail.com
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-06-11 14:21
我刚才发现,1581的INTERRUPT SOURCE(18H)的清除是通过置位
实现的。如:你的SUSP中断是第四位,那么向第四位写入一个1就可以了。
    MOV R1, #18H
    MOV A, #08H
    MOVX ?R1, A
你老是中断,大概是没有清吧。试试看。

新手上路,请多关照.
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-06-11 14:25
你是否用 BUSHOUND?你的 USB 返回设备标示符了吗?我BUSRESET
后就没反应了,不知为什么。帮我看看可以吗?讨论讨论。
我的信息:
附件名称/大小 下载次数 最后更新
2004-06-11_我的_sepond.txt (7KB)  11
新手上路,请多关照.
beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-06-11 14:30
我刚才发现,1581的INTERRUPT SOURCE(18H)的清除是通过置位
实现的。如:你的SUSP中断是第四位,那么向第四位写入一个1就可以了。
    MOV R1, #18H
    MOV A, #08H
    MOVX ?R1, A
你老是中断,大概是没有清吧。试试看。

 


我用的是DSP 不可能能一位位赋值啊  
你的那个打不开
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-06-11 14:35
打不开?再试试。
我看别人的程序,就是一句:
//清除总线复位中断位
USB_Int_Flag.BITS.RESET = 0;
//设置总线复位标志
Kernel_Flag.BITS.Bus_Reset = 1;
我不知道你的怎么样。
附件名称/大小 下载次数 最后更新
2004-06-11_我的_sepond.txt (7KB)  11
新手上路,请多关照.
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-06-11 14:45
现在我的可以打开了,在我的主题中,还有别人的可以对照。
帮忙看看。谢谢。
FLYHYE 也帮下,太谢谢了。
新手上路,请多关照.
lily311
驱动小牛
驱动小牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望26点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-06-11 14:45
嘻嘻,我刚刚解决这个问题。
周立功给的源码里有一些bug.
在函数Init_8051里要将下面一句前面的注释拿掉。
// EX0 = 1; //开ISP1581中断
这样才能收到usb中断。
不然总线空置一段时间后就进入挂起状态。

不知道你的是不是同样的原因。
beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-06-11 14:51
我没用BusHound
我在底层板子上是单步调试的,USB-SETUP根本进不去,每次进中断都是SUSP,然后我清掉了,然后再也进不去中断,程序就一直在判断中断位USB-INT-FLAG。
beaumenu
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2009-01-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-06-11 14:53
嘻嘻,我刚刚解决这个问题。
周立功给的源码里有一些bug.
在函数Init_8051里要将下面一句前面的注释拿掉。
// EX0 = 1; //开ISP1581中断
这样才能收到usb中断。
不然总线空置一段时间后就进入挂起状态。

不知道你的是不是同样的原因。


我能收到中断,就是检测到一个挂起中断,然后我量中断信号的管脚就一直没变化
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-06-11 14:53
我也没有进 SETUP,SETUP 就没来,不知为什么。
新手上路,请多关照.
上一页
游客

返回顶部