| Author | beginning argument ( Replies received: 1 ) |
| Bummibaer |
Posted 10-06-2008 at 10:46   |

Registered on : 09-13-2007
From Germany
Messages : 14
OFF-Line
|
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
|
|
|
Profile
Quote
|
| volius |
Posted 10-06-2008 at 16:40   |

Registered on : 09-12-2006
From UK (United Kingdom)
Messages : 133
OFF-Line
|
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
|
|
|
Profile
Quote
|
|  |
|
|