首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]中断问题

[求助]中断问题

由于刚接触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

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

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

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

海纳百川  有容乃大

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

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

这样就可以了应该

返回列表