Board logo

标题: 帮我看看这断代码中断为什么进不去啊? [打印本页]

作者: feitianhuli4229    时间: 2008-3-24 13:13     标题: 帮我看看这断代码中断为什么进不去啊?

#include /* common defines and macros */
#include /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"


void main(void) {


DDRB=0XFF;//PORTB设定为输出
PORTB=0X7e;//PORTB初始化为全高 试验显示 运行时一直只有两边的两个灯在亮 可见程序没有进入中断

TSCR1=0x90;//定时器使能且TFLG1能被自动清除

TSCR2=0x07;//定时器预分频系数设定 Prescale Factor=128
TIE=0x01;//定时器通道0使能
TIOS_IOS0=1;//定时器通道0设定为输出比较

EnableInterrupts;//开中断

for(;;) {} /* wait forever */
/* please make sure that you never leave this function */
}




/*
***************************************************************************
*语法格式:interrupt void Timer(void)
*实现功能ORTB小灯的闪烁
*程序描述:
**************************************************************************/
void interrupt 8 Timer(void) //8为定时器通道0的中断标号
{
DisableInterrupts; //关中断
TC0=TCNT+19360;//F = Fosc / (TC*128) 中断频率设定
PORTB=0xef;
}
哪位朋友懂,请帮帮忙吧,我对这个单片机也步熟悉
单片机是MC9S12DG128,这块试验板是参加飞思卡尔智能车 指定的那块
作者: strongchen    时间: 2008-3-24 15:39

1. 中断函数必须放入非分页地址;
2. 在中断函数中必须清中断标志;
3. 检查一下中断矢量地址与中断号是否对应正确。
作者: 康桥人    时间: 2008-3-24 18:59

中断号上对的,不过ECT初使化时没有加上比较的值,
加:TC0 = ?;就应该可以了,再试试!
作者: feitianhuli4229    时间: 2008-3-24 19:17

还是不行啊,中断前加#pragma CODE_SEG __NEAR_SEG NON_BANKED 了初始化时加了TC0=0xff;了
作者: feitianhuli4229    时间: 2008-3-24 19:18

谢谢 版主,谢谢 康桥人
作者: 康桥人    时间: 2008-3-24 22:09

http://bbs.chinaecnet.com/uploadImages/ECT_output.rar
有个中断的程序,正好对应你那个!
作者: feitianhuli4229    时间: 2008-3-24 23:52

还是不好用。我用的是板子自带的监控程序把程序下载到Flash中的,能不能是这个原因呢?
作者: strongchen    时间: 2008-3-25 09:56

自带的监控程序?那它是否将中断矢量区重新映射了呢?
作者: feitianhuli4229    时间: 2008-3-25 10:46

是啊,刚才看书上介绍说 监控程序将中断向量表中58个中断向量从 FF8C-FFFD移到EF8C--EFFF
作者: strongchen    时间: 2008-3-25 11:01

所以你就不能用中断号的格式定义中断矢量地址了,而应该在PRM文件中定义中断矢量地址,用这样的格式:

VECTOR ADDRESS 0xEF8C FirstISR
作者: feitianhuli4229    时间: 2008-3-25 13:36

这次 把监控程序擦除了,程序直接下载到单片机里,这下好使了
再次谢谢版主,谢谢康桥人,谢谢你门的热心帮助
作者: 康桥人    时间: 2008-3-26 11:47

建议用BDM下载,那样方便很多,
BDM使用方法:http://blog.eccn.com/u/107300/archives/2008/5318.htm




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