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

中断问题

中断问题

大家好!我用s12dp256的开发板做个点灯实验,可是不会执行中断,我采用的是定时溢出中断,想问原因?这是我的程序:
#include /* common defines and macros */
#include /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"

unsigned char second=0x00;
void interrupt TOIISR(void);

void main(void){
TSCR1=0x80;
TSCR2=0x80;
TFLG2=0x80;
DDRB=0xFF;
asm CLI;
while (1){
}
exit();
}
#pragma CODE_SEG NON_BANKED
void interrupt TOIISR(void){
TFLG2=0x80;
second+=1 ;
if (second==122){
PORTB=PORTB;
second=0x00;
}
}
#pragma CODE_SEG DEFAULT

你的中断地址是怎么定义的?你用的是串行监控还是BDM接口?
海纳百川  有容乃大
你好!我用的是BDM接口。
在prm中定义了:VECTOR ADDRESS 0XFFDE interrupt TOIISR
PRM中断定义应该是:VECTOR ADDRESS 0xFFDE TOIISR
你这样写编译能通过吗?
海纳百川  有容乃大
好的改了,可以通过编译但是中断还是不执行。
把你的整个project打包贴出来看看吧。
海纳百川  有容乃大
你设过断点看过吗?如果你的project没有别的问题,应该是可以进中断的。另外,你在中断程序里执行PORTB=PORTB;有什么意义?
海纳百川  有容乃大
谢谢版主,我的问题已经解决了!
应该在PRM文件设置中断向量
我以前也遇到相同的问题。我现在也在调试这个芯片交个朋友吧QQ593063443
返回列表