智能车制作

标题: 怎么进入中断 ? [打印本页]

作者: redfox302    时间: 2009-3-27 11:07
标题: 怎么进入中断 ?
请问,怎么才能进入中断?
是不是只要中断位置1就可以啦?
比如:
INTCR_IRQE=1;
INTCR_IRQEN=1;
就表示进入IRQ中断了啊
作者: whut_wj    时间: 2009-3-27 12:07
这仅仅是设置中断要求和使能.
进IRQ中断要写中断函数.

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

不懂的话找个例子对着看.
作者: shibf    时间: 2009-6-1 21:48
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)
{...}
这是为什么呢?是哪里的问题呢?急!!!!
作者: hwqdg    时间: 2009-6-2 15:15
可能是这个没有加:
#pragma CODE_SEG __NEAR_SEG NON_BANKED
作者: shibf    时间: 2009-6-2 15:36
4# hwqdg
这样链接成功了,万分谢谢!
作者: LYL0707    时间: 2011-1-13 10:09
#pragma TRAP_PROC这个放在刚才最前吗
作者: 马合店村    时间: 2012-2-9 14:38





欢迎光临 智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2