MC9S12DG128 ECT中断问题
时间:10-02
整理:3721RD
点击:
我在调试MC9S12DG128的ECT模块的时候,使用到了定时器通道0和1的中断,为什么当我使用TSCR2_PR寄存器进行分频时,程序就执行不下去,而
不调用这句话的时候程序就能够执行呢?求大神指点啊!感激不尽,在线等待!
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
#include "sci.h"
void ECTINIT (void)
{
//TSCR2_PR = 7; // ?使用分频时,程序执行不起来,问题未解决!?
TSCR2_TOI= 1;
TSCR1_TEN = 1;
TIOS_IOS0 = 1;
TIOS_IOS1 = 1;
TC0 = 10000;
TC1 = 20000;
TIE_C0I = 1;
TIE_C1I = 1;
TCTL2_OL0 = 1;
TCTL2_OM0 = 0;
TCTL2_OL1 = 1;
TCTL2_OM1 = 0;
}
void delay()
{
unsigned int i;
for( i=0;i<10;i++);
}
void main (void)
{
ECTINIT ();
Sci0open();
EnableInterrupts;
for(;;) { }
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 8 ECT_0_ISR(void)
{
TFLG1_C0F=1;
SciWriteString("timer0 start!\n");
}
void interrupt 9 ECT_1_ISR(void)
{
TFLG1_C1F=1;
SciWriteString("timer1 start!\n");
}
//#pragma CODE_SEG DEFAULT
不调用这句话的时候程序就能够执行呢?求大神指点啊!感激不尽,在线等待!
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
#include "sci.h"
void ECTINIT (void)
{
//TSCR2_PR = 7; // ?使用分频时,程序执行不起来,问题未解决!?
TSCR2_TOI= 1;
TSCR1_TEN = 1;
TIOS_IOS0 = 1;
TIOS_IOS1 = 1;
TC0 = 10000;
TC1 = 20000;
TIE_C0I = 1;
TIE_C1I = 1;
TCTL2_OL0 = 1;
TCTL2_OM0 = 0;
TCTL2_OL1 = 1;
TCTL2_OM1 = 0;
}
void delay()
{
unsigned int i;
for( i=0;i<10;i++);
}
void main (void)
{
ECTINIT ();
Sci0open();
EnableInterrupts;
for(;;) { }
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 8 ECT_0_ISR(void)
{
TFLG1_C0F=1;
SciWriteString("timer0 start!\n");
}
void interrupt 9 ECT_1_ISR(void)
{
TFLG1_C1F=1;
SciWriteString("timer1 start!\n");
}
//#pragma CODE_SEG DEFAULT
