智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4488|回复: 6
打印 上一主题 下一主题

[编程类] 怎么进入中断 ?

[复制链接]

0

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
威望
207
贡献
24
兑换币
0
注册时间
2009-1-8
在线时间
6 小时
跳转到指定楼层
1#
发表于 2009-3-27 11:07:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
请问,怎么才能进入中断?
是不是只要中断位置1就可以啦?
比如:
INTCR_IRQE=1;
INTCR_IRQEN=1;
就表示进入IRQ中断了啊

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
2#
发表于 2009-3-27 12:07:23 | 只看该作者
这仅仅是设置中断要求和使能.
进IRQ中断要写中断函数.

中断函数写法(之一):
首先声明在非分页寄存器里
然后找到输出比较的中断矢量
即:
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt XX FFF
{}(FFF是你的中断函数名,只是个名字,没有其它意义.XX是中断矢量,中断矢量在头文件里找.

不懂的话找个例子对着看.
回复

使用道具 举报

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
3#
发表于 2009-6-1 21:48:45 | 只看该作者
2# whut_wj

我的中断的名字是按照这样的方法写的,但是连接的时候提示错误“Links Error:L1907:Fixupoverflow in_Vector_15,to isr7 type 1,at offset 0x0”。
我的中断名是
#pragma TRAP_PROC
void interrupt 15 isr7(void)
{...}
这是为什么呢?是哪里的问题呢?急!!!!
回复

使用道具 举报

1

主题

43

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1798
威望
235
贡献
1549
兑换币
4
注册时间
2008-5-29
在线时间
7 小时
4#
发表于 2009-6-2 15:15:56 | 只看该作者
可能是这个没有加:
#pragma CODE_SEG __NEAR_SEG NON_BANKED
回复

使用道具 举报

0

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
211
贡献
22
兑换币
0
注册时间
2009-3-31
在线时间
40 小时
5#
发表于 2009-6-2 15:36:22 | 只看该作者
4# hwqdg
这样链接成功了,万分谢谢!
回复

使用道具 举报

8

主题

68

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
QQ
威望
307
贡献
1147
兑换币
0
注册时间
2011-1-10
在线时间
34 小时
6#
发表于 2011-1-13 10:09:02 | 只看该作者
#pragma TRAP_PROC这个放在刚才最前吗
回复

使用道具 举报

1

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
967
威望
667
贡献
128
兑换币
0
注册时间
2011-9-29
在线时间
86 小时
7#
发表于 2012-2-9 14:38:55 | 只看该作者
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 14:37 , Processed in 0.045932 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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