About the ECT of mc9s12xep100

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

About the ECT of mc9s12xep100

453 Views
youdongsheng
Contributor II

I want to measure the duty cycle of PWM,  use the ECT function of mc9s12xep100, The fllowing is my code :

void ECT_Init(void)
{
ECT_TSCR2 = 0x80; // prescaller=1
ECT_TCTL3 = 0x04; // channel 5 input capture on rising edge
ECT_TIE = 0x20; // enable Ch5 interrupt
ECT_TSCR1 = 0xE0; // enable timer, stop during freeze and wait
}

#pragma CODE_SEG NON_BANKED
void interrupt 13 ECT4_ISR(void)
{
unsigned int ovfs;

TIM_TFLG1 = 0x20; // clear interrupt flag from PT5

}
#pragma CODE_SEG DEFAULT


#pragma CODE_SEG NON_BANKED
interrupt 16 void TIM_OvfIsr(void)
{
ch4ovfCnt++; // count overflows
ch5ovfCnt++;
ch6ovfCnt++;
ch7ovfCnt++;

TIM_TFLG2 = 0x80; // clear interrupt flag of main timer
}
#pragma CODE_SEG DEFAULT

I found that the flags of interupt can't be cleared causing the interrupt is always running.

Does my code  have any problem?

how can I clear the flag of interrupt? 

0 Kudos
Reply
1 Reply

333 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hi,

I don't see any problem in your code.

You may try the attached example code.

It is written for S12DP but it uses the same timer module.

Regards,

Daniel

0 Kudos
Reply