智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 9737|回复: 10
打印 上一主题 下一主题

[单片机] XS128 IRQ中断问题

[复制链接]

21

主题

277

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
5728
威望
2165
贡献
1155
兑换币
609
注册时间
2009-3-1
在线时间
1204 小时
跳转到指定楼层
1#
发表于 2009-12-5 14:30:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
我们用IRQ采集场中断,用codewarrier在线调试时没有问题,但是一旦复位单片机,单独运行时就有问题了,表现为PORTB的变化很慢,应该是程序某处卡死,此时若IRQ端不接入脉冲,则恢复正常,即PORTB约1s变化一次;关闭IRQ的中断也可以消除。可以排除程序其它地方的影响。在硬件上,我们直接用最小系统版来调试,也更换过最小系统版,应该不是硬件问题。若用其他中断则没有这种问题。
    IRQ初始化:
     IRQCR_IRQEN =1; //中断使能
     IRQCR_IRQE=1;    //下降沿触发

     /*****************IRQ中断(场中断)********************/
   #pragma CODE_SEG __NEAR_SEG NON_BANKED
   void interrupt 6 IRQInterrupt(void)   //下降沿
   {  
     //执行的程序
   }

   在main 函数的for循环中加入测试语句
    for(;;)
  {     
          PORTB=~PORTB;
         delay(1000);//正常情况下约1s
  }

最佳答案

查看完整内容

IRQCR_IRQEN =1; //中断使能 IRQCR_IRQE=1; //下降沿触发我遇到过郁闷很久,顺序错了,改一下就OK啦 IRQCR_IRQE=1; //下降沿触发 IRQCR_IRQEN =1; //中断使能 because。。。

1

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
376
QQ
威望
247
贡献
29
兑换币
4
注册时间
2010-7-13
在线时间
50 小时
2#
发表于 2009-12-5 14:30:19 | 只看该作者
IRQCR_IRQEN =1; //中断使能
IRQCR_IRQE=1;    //下降沿触发我遇到过郁闷很久,顺序错了,改一下就OK啦
IRQCR_IRQE=1;    //下降沿触发
IRQCR_IRQEN =1; //中断使能
because。。。
回复

使用道具 举报

0

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
557
威望
311
贡献
32
兑换币
0
注册时间
2008-8-12
在线时间
107 小时
3#
发表于 2009-12-5 15:34:46 | 只看该作者
不给源代码我怎么帮你分析啊~~~~晕~
回复

使用道具 举报

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
4#
发表于 2009-12-5 16:30:06 | 只看该作者
我记得,IRQ没有中断标志,就不需要清标志位了。
把IRQ信号做好滤波工作。看是不是由于IRQ引起单片机复位了。
回复

使用道具 举报

21

主题

277

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
5728
威望
2165
贡献
1155
兑换币
609
注册时间
2009-3-1
在线时间
1204 小时
5#
 楼主| 发表于 2009-12-5 23:19:02 | 只看该作者
回复 2# 新兴MCU
呵呵,不好意思啊。我奇怪的是为什么在线调试时可以,一旦单片机单独运行时就不行了。。其他的程序我大部分都屏蔽掉了,就我的测试来说关键就在IRQ上。
回复

使用道具 举报

21

主题

277

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
5728
威望
2165
贡献
1155
兑换币
609
注册时间
2009-3-1
在线时间
1204 小时
6#
 楼主| 发表于 2009-12-5 23:19:57 | 只看该作者
回复 3# whut_wj
   怎么解释用BDM在线调试时可以,但是单独运行时不行呢?
回复

使用道具 举报

6

主题

138

帖子

0

精华

高级会员

小兵

Rank: 4

积分
754
威望
493
贡献
131
兑换币
10
注册时间
2009-12-6
在线时间
65 小时
7#
发表于 2010-6-11 00:12:36 | 只看该作者
师兄说的果然有道理~~~
回复

使用道具 举报

4

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
324
威望
228
贡献
26
兑换币
0
注册时间
2009-10-9
在线时间
35 小时
8#
发表于 2010-6-11 02:22:39 | 只看该作者
源代码
回复

使用道具 举报

1

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
376
QQ
威望
247
贡献
29
兑换币
4
注册时间
2010-7-13
在线时间
50 小时
9#
发表于 2011-11-16 21:23:03 | 只看该作者
其实原因很简单以为那个寄存器在一般模式下只能写一次!!!
回复

使用道具 举报

21

主题

277

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
5728
威望
2165
贡献
1155
兑换币
609
注册时间
2009-3-1
在线时间
1204 小时
10#
 楼主| 发表于 2011-11-16 23:09:28 | 只看该作者
回复 9# 835304205


    犀利。。2年前的问题终于有人来解答了,那还是我们队刚刚开始学习摄像头的时候。我之后改用其他口中断就没管过了。现在也不好试了,不过相信你是对的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 03:36 , Processed in 0.049168 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表