打印
[ZLG-ARM]

再请教周公LPC2103例程

[复制链接]
1072|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuyk_0321|  楼主 | 2008-9-16 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


void ExtInt0_ISR(void)
{
IO0CLR = BEEP; //蜂鸣器鸣叫
Delay_NS(20);
while(IsExtInt(1))
{
CleanExtInt**(1); //清零EXTINT1 中断标志
}
IO0SET = BEEP; //蜂鸣器停止鸣叫
VICVectAddr = 0; //退出外部中断1
}

1.这段中断服务程序编译后在Flash中的地址是什么?中断寄存器怎么会知道该地址?


2.ARM的中断处理过程与51有什么区别?
像51有一段中断向量表,发生中断则会跳转到相应的中断向量地址,如果在该向量地址处安排一个跳转指令,则程序会跳转到对应的中断服务程序!不知道ARM是怎么处理的,怎么知道中断服务程序的地址?



相关帖子

沙发
zlg_lly| | 2008-9-17 13:08 | 只看该作者

RE:liuyk_0321

您好!

中断服务程序编译后出现在Flash中的地址是不定的,但在中断初始化程序中我们已经将对应中断服务程序地址放到了对应的中断地址寄存器中。中断发生后,对应中断地址寄存器中的地址会自动复制到默认的中断地址寄存器中,只要是IRQ中断,程序始终会从此寄存器读取地址从而执行对应的中断服务程序。

我说得可能不够明白,建议您自己努力看书。EasyARM2103光盘中提供了详细的教材,一定要认真看,这套试验板实在是物有所值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

66

帖子

1

粉丝