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.

TMS320F2812: Interrupts in 2812

Part Number: TMS320F2812


Hi.. my problem is regarding interrupts in 2812 dsp..

I am using CINT0 and T1PINT interrupts. But while executing the code both are interrupting each other. which means when CINT0 in progress T1PINT is interrupting the CIN0. Simillar thing is happening while T1PINT is in progress. actually, code execution time is 6micro sec in T1PINT because of CINT0 interruption code execution time in T1PINT becomes 40micro sec. T1PINT interrupt is 0.1ms and CINT0 is 2ms. Can u please tell me how to resolve this???

And I want to know can we generate 2ms interrupt without using GP TIMER and CPU interrupts.??

  • Hello,

    The default behavior for interrupts is for INTM to get set before entering the ISR, so unless you've added code to make the interrupts nested, your interrupts aren't actually interrupting each other because interrupts are disabled. There's some more information about the behavior of interrupts here:

    processors.wiki.ti.com/.../Interrupt_Nesting_on_C28x

    Can you give me more information? How are you measuring the execution time of your interrupts?

    Whitney
  • Venkat,

    I believe you are talking about these two ePIE interrupt sources shown below:-

    CINT0 - INT1. INTx.7
    T1PINT - INT2. INTx.4

    If the above is true, CINT0 cannot be interrupted by T1PINT interrupt because INT1 has higher priority than INT2. But, it is true that T1PINT ISR can be interrupted by CINT0 interrupt as INT1 interrupt is higher priority interrupt when compared to INT2. If you don't want T1PINT interrupt to be interrupted by CINT0 interrupt, disable the corresponding CINT0 PIE interrupt enable bit as soon as you enter T1PINT ISR and re-enable before exiting T1PINT ISR routine.

    Regards,
    Manoj
  • Hi.. thank you for your reply.. I am enabling one GPIO pin as HIGH at the starting of the code un interrupt and making the same GPIO pin as LOW at the end of the interrupt code. With this I’m able measure the execution time
  • Hi Manoj.. thank you for your reply.. I want to block CINT0 when T1PINT is processing. If not possible is there any other interrupt we can generate which is low priority than T1PINT other than timer interrupts??
  • Venkat,

    If you want to block CINT0 interrupt when working on T1PINT interrupt disable the corresponding CINT0 PIE interrupt enable bit as soon as you enter T1PINT ISR and re-enable before exiting T1PINT ISR routine.

    All ePIE interrupt tied to INT3-INT12 have lower priority than T1PINT interrupt.

    Regards,
    Manoj