huak
驱动牛犊
驱动牛犊
  • 注册日期2002-03-31
  • 最后登录2002-06-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3584回复:14

d12中断的问题?

楼主#
更多 发布于:2002-06-08 14:56
为d12编写firmware

调试时总是不停的进入中断
怀疑是因为中断寄存器没有清0

Read interrupt register清除高2位?
Read last transaction stats register清除其余6位

是这样的马?

然后d12的中断电平就回到高的了??

但是好像试了一下不对呀??
请高手指点

最新喜欢:

lg970331lg9703...
apmusb
游客
游客
沙发#
发布于:2002-06-08 15:44
Read interrupt register清除高2位
Read last transaction stats register清除其余6位
是这样的!
不知你用什么控制D12,如果是单片机应该设成电平触发;
huak
驱动牛犊
驱动牛犊
  • 注册日期2002-03-31
  • 最后登录2002-06-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-08 21:55
对呀
我也是这样认为的
用的是单片机,设成了电平触发
但是进入中断后
执行指令电平不能回到高!!
奇怪
就是不停的进入中断

问一下,会是什么原因呢?
还有就是调试的时候
发现全速和单步不太一样
想问一下有没有人有经验??
clear_zcl
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-19 15:48
在打开中断之前,还必须先将D12芯片进行复位(先把RESET脚拉低,延时一段时间后再拉高)。
固件程序和中断有关,对延时的要求很高,因此一般不适合在单步情况下跟踪。只能在全速下跑。
m0453
驱动牛犊
驱动牛犊
  • 注册日期2001-12-14
  • 最后登录2003-04-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-22 19:17
在usb与计算机连接初始化是的确是不停的进入中断,因为这是有一系列的消息要处理,看你的情况好像是一个中断没有结束就又进了一次,可这样试一试,进入中断首要的是关闭中断,clr ea,退出时,setb ea,如果不是这个原因,看看各消息响应是否有误,如果有误,计算机会多次重试的,但几次后就应该没有了,那么就好好看看电路吧。
only8008
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2004-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-22 17:35
我现在也碰到这种问题,怎么解决一次中断未结束又来一次中断?????
mercuryluo
驱动牛犊
驱动牛犊
  • 注册日期2003-12-16
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-16 23:38
你需要看看你的d12设置是不是有问题,如不要将它设置成发送成功也产生中断
lg970331
驱动牛犊
驱动牛犊
  • 注册日期2003-11-30
  • 最后登录2007-04-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-02-11 11:16
我也是正碰到同样的问题!---D12不停的进入中断。我采用的是52+D12结构,每次将D12调试板连接到主机上后,D12的指示灯闪烁三次后,就无反应,我用示波器看/INT_N脚的电瓶状态一直为低,因为单片机是设定为电瓶触发,所以中断标志位IE0不能被清除,导致反复进入中断。刚才看到有位兄弟提示说,在响应D12中断时要复位D12,这点没试过,实验一下看行不行,再来跟大家讨论!还有,我看很多地方都说,D12的中断要设置成电瓶触发,我想为什么不能设置成边沿触发方式呢?如果设置成边沿触发方式的话,我想至少不会说造成反复进入中断的问题吧!请赐教。
yung2002
驱动牛犊
驱动牛犊
  • 注册日期2004-02-14
  • 最后登录2004-04-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-02-14 22:34
 :D
zhoucs
驱动牛犊
驱动牛犊
  • 注册日期2004-02-26
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-05-14 21:51
我也正在调试中,而且碰见了大家说的这个问题,老是跳不出这个中断?以上的几个方法我也试了,不行啊还是跳不出去啊!哪位大虾指点以下啊
zhoucs
驱动牛犊
驱动牛犊
  • 注册日期2004-02-26
  • 最后登录2005-03-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-05-14 21:54

 发表于: 2002/6/8 - 14:56
为d12编写firmware

调试时总是不停的进入中断
怀疑是因为中断寄存器没有清0

Read interrupt register清除高2位?
Read last transaction stats register清除其余6位

是这样的马?

然后d12的中断电平就回到高的了??

但是好像试了一下不对呀??
请高手指点
 
这位大虾不知道你最后怎么解决的啊?
救助啊急
at90s
驱动牛犊
驱动牛犊
  • 注册日期2004-05-08
  • 最后登录2006-11-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-05-22 03:40
我现在也是一样,不停地中断,但在中断程序中读中断状态寄存器读到的却总是0!
jerry_wj
驱动牛犊
驱动牛犊
  • 注册日期2005-04-27
  • 最后登录2005-04-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-04-28 17:11
我现在也是一样,不停地中断,但在中断程序中读中断状态寄存器读到的却总是0!

 
\'
像你这情况是不是片子坏的?读一下CHIPID看看是不是全0,或者用示波器看看时钟起振没有,我以前碰到过一坏片子折腾了很久。
 

 
yantianhe2001
驱动牛犊
驱动牛犊
  • 注册日期2005-05-18
  • 最后登录2006-01-23
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-06-01 17:38
楼上各位,问题解决了嘛?我现在也碰到你们同样的问题,而且中断里面读出来的中断寄存器是00,郁闷啊!
computer00
驱动小牛
驱动小牛
  • 注册日期2004-09-27
  • 最后登录2009-08-22
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望120点
  • 贡献值0点
  • 好评度110点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-03-29 14:04
可以参考一下我以前做过的:

http://computer00.21ic.org/user1/2198/cmd.html?do=blogs&id=1310&uid=2198

看里面跟USB相关的. 有51+D12的好几个源代码包.
博客Http://computer00.21ic.org
游客

返回顶部