Skip to main content
Visitor II
June 10, 2008
Question

ISR not served

  • June 10, 2008
  • 2 replies
  • 630 views
Posted on June 10, 2008 at 13:10

ISR not served

    This topic has been closed for replies.

    2 replies

    netzAuthor
    Visitor II
    June 10, 2008
    Posted on June 10, 2008 at 07:16

    Hello,

    I've an extremely nerving problem.

    I debug with the IAR C-Spy. In the first run

    it runs fine. But after I do the the softreset, some

    interrupts aren't served.

    I.E. I'm waiting for an UART-Int:

    At the stage are set:

    UART1->SR TxEmpty=1

    UART1->IER TxEmptyIE=1

    EIC->ICR 0x1

    EIC->CICR 0xA

    EIC->CIPR 0x4

    EIC-IER0 0x4C21

    But the only ISR served is the regularly Timer-ISR (@1ms).

    Because the interrupt-handling is somewhat sophisticated,

    I would be happy for any guesses.

    Thanks,

    Steffen

    BTW,

    the Processor ist the STR710F

    Visitor II
    June 10, 2008
    Posted on June 10, 2008 at 13:10

    Hi Steffen,

    You listed the contents of some of the MCU's registers, but I'm not sure at which point you read them. If it's when you experience the problem, then there is your explaination: the EIC.CICR is 10 (UART1 interrupt channel) and EIC.CIPR is 4 (most likely, the priority you assigned to the UART1 interrupt). Basically, the EIC never exited the UART1 interrupt, so only an interrupt with a higher priority can be served (the timer?).

    Maybe the softreset that you are referring to does not actually reset the EIC? You can reset the EIC in your initialization code, just to be safe.

    Regards,

    - mike