Board logo

标题: [求助]中断问题 [打印本页]

作者: linwenyao    时间: 2008-11-7 17:02     标题: [求助]中断问题

由于刚接触mc9s12dg128单片机,用的codewarrior4.6编程的,为了试验中断向量表问题,现编了几句小程序

主程序是:

#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

void main(void) {

DisableInterrupts;
DDRB=0xFF;

PORTB=0x00;
EnableInterrupts;

for(;;) {} /* wait forever */

}
#pragma CODE_SEG NON_BANKED
void interrupt 6 DIRQISR(void)
{
PORTB=0x0F;

}
#pragma CODE_SEG DEFAULT

.prm文件最后连接是:

VECTOR 0 _Startup

VECTOR 6 DIRQISR

编译后发现不进入中断,请教各位该如何解决?不胜感谢!


作者: strongchen    时间: 2008-11-12 11:42

1. 检查一下此中断的控制寄存器设置;

2. 检查一下中断号对应的中断矢量地址是否正确。


作者: achao86926    时间: 2009-2-28 16:52

你写的这段程序很有问题,我感觉啊。

如果的interrupt 后面加中断号,你在prm文件中应该就不用在写vector 6了吧。如果你中断程序是interrupt void DIRQISR(void),此时你在prm文件末尾加上vector address $fffd(随便写的地址,你应该把你的实际中断地址写在这个地方) DIRQISR

这样就可以了应该






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0