This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28035 CpuTimer0 Interrupt issue

Hi,

I tested the CpuTimer1 interrupt but failed, I inserted following codes into a existed project- FlashingLED-F28035, it never step into the interrupt service routin, anyone could pls help to check? in additional I would like to confirm if the CCSv4 supports only ONE s/w breakpoint when debugging?

//;;;;;;;;;;;;;;;;;;;;;;;;;;;

interrupt void CpuTimer1_isr(void);

main()

{

//.............

PieVectTable.TINT1 = &CpuTimer1_isr;
EINT;     // Enable Global interrupt INTM
ERTM;     // Enable Global realtime interrupt DBGM

}

//;;;;

interrupt void CpuTimer1_isr(void)
{
 
}

  • Felix,

    May be you forget to do this:

    EALLOW; 

    PieVectTable.TINT1 = &CpuTimer1_isr;

    EDIS;

    InitCpuTimers();

     

    // 100MHz CPU Freq, 1 second Period (in uSeconds)

       ConfigCpuTimer(&CpuTimer1, 100, 1000000);

       StartCpuTimer1();

     

     

     

    // Enable CPU INTx which is connected to CPU-Timer 1:

       IER |= M_INTx; // Where x is Group of CPuTimer1 interrupt

     

     

    PieCtrlRegs.PIEIERx.bit.INTxY = 1;// Interrupt Y within Group X

     

       EINT;   // Enable Global interrupt INTM

       ERTM;   // Enable Global realtime interrupt DBGM

  • @Felix:

    Furthermore to Roman's comment,  you cannot just leave "main" as in your code above; add a loop.

    Timer 1 does not use the PIE system, so the PIEIER - instruction from Roman's reply is not needed.

    CCS supports any number of software-breakpoints in volatile memory. For non-volatile, the limit is 2.

     

  • Hi Roman, Frank,

    Thank you both for help, according to the points I finally fixed it. Thanks again!

    Regards,

    Felix