2008-06-10 04:10 AM
2008-06-09 10:16 PM
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 STR710F2008-06-10 04:10 AM
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