智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4836|回复: 12
打印 上一主题 下一主题

[编程类] 不能正常进入中断

[复制链接]

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
跳转到指定楼层
1#
发表于 2009-6-12 00:00:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
我写了个中断程序,但是有时候能正常执行,有时候就不行。不能执行中断的时候,看对应的中断标志位是1,表示发生了中断,但是没有执行中断程序(因为我每次在中断程序中都把对应的中断标志位清除的)。程序是照常执行的,对应的一些寄存器也变化着,就是中断程序执行不了。

请高手帮忙分析一下。

22

主题

518

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
6442
QQ
威望
943
贡献
5041
兑换币
99
注册时间
2008-2-26
在线时间
229 小时
2#
发表于 2009-6-12 10:19:43 | 只看该作者
中断号写对,还有看看中断开了没有
回复

使用道具 举报

0

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
威望
208
贡献
27
兑换币
0
注册时间
2008-4-6
在线时间
1 小时
3#
发表于 2009-6-12 14:02:00 | 只看该作者
EnableInterrupt
回复

使用道具 举报

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
4#
 楼主| 发表于 2009-6-12 19:40:28 | 只看该作者
2# zdhly0401

中断号、开中断都没问题。
程序开始运行的时候是可以进入中断的,之后中断执行了若干次后,就会不再执行中断,对应的中断标志位一直保持1,此时程序其他部分是正常执行的。这种情况并不是每次都发生,有时正常,有时就会出现这个问题。而且出现这种问题的概率比正常执行程序概率大。
回复

使用道具 举报

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
5#
 楼主| 发表于 2009-6-15 19:55:40 | 只看该作者
这个问题不能解决吗?
回复

使用道具 举报

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
6#
 楼主| 发表于 2009-6-24 11:44:04 | 只看该作者
还没人解答吗?希望高人指点。
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
威望
183
贡献
22
兑换币
0
注册时间
2009-4-1
在线时间
11 小时
7#
发表于 2009-6-24 13:09:47 | 只看该作者
楼主好,楼主在中断内设置断点看看可能进中断,如果光看标志位的话,有可能标志位在大部分时间内处于1,导致你看到的即全部为1。祝楼主早日解决哈~^_^
回复

使用道具 举报

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
8#
 楼主| 发表于 2009-6-24 18:58:08 | 只看该作者
7# 恋心     先感谢解答。不过问题还没有解决。
    我是在中断程序一开始就写1清除中断标志位的,所以正常执行的话,应该大部分时间中断标志位是0.如果大部分时间是1就是说明中断发生了,但是中断程序没有执行。
    下面是我的一个中断程序:
void interrupt 9 isr1(void)
{
     TFLG1_C1F =1;    //clear interrupt request flag   
     hang=0;
     hangshu=0;
     TIE_C0I=1;
}
回复

使用道具 举报

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
9#
 楼主| 发表于 2009-6-26 12:01:24 | 只看该作者
急求高人指点!!!!!!
回复

使用道具 举报

2

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
QQ
威望
195
贡献
30
兑换币
2
注册时间
2008-4-12
在线时间
8 小时
10#
发表于 2009-8-7 20:09:38 | 只看该作者
中断序号写对了吗?,你说有时候能进入中断,有时候不能,可能是你进入中断了可是有可能发生比它优先级更高的中断发生了,去处理那个中断,而你没写这个中断服务子程序的话,就一直卡在那里了,这只是我的想法,借鉴一下!!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 15:24 , Processed in 0.046266 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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