Forums

SCI Interrupt on freescale HCS12XDP512 - CodeWarrior + ProcessorExpert

Started by Florian E. Teply June 13, 2008
Hey Folks,

Right now i'm trying to fix a problem i got with an Interrupt Service
Routine created by ProcessorExpert and CodeWarrior:

The ISR loses received chars (as in not calling the appropriate Event
Handler) when the reception of that char is finished while the
transmit-ISR is running.
As far as i can tell, this happens because the transmit-ISR clears a
status register which also contains the receive flag, received
characters are eventually missed because no ISR fetches them.

Any ideas on how to resolve this problem??

Greetings,
Florian
>Hey Folks, > >Right now i'm trying to fix a problem i got with an Interrupt Service >Routine created by ProcessorExpert and CodeWarrior: > >The ISR loses received chars (as in not calling the appropriate Event >Handler) when the reception of that char is finished while the >transmit-ISR is running. >As far as i can tell, this happens because the transmit-ISR clears a >status register which also contains the receive flag, received >characters are eventually missed because no ISR fetches them. > >Any ideas on how to resolve this problem?? > >Greetings, >Florian >
I would suggest posting this at forums.freescale.com under the 16-bit MCU section. Some people from Processor Expert monitor the forums, mentioning Processor Expert in the messsage title might help. The RDRF flag in the SCISR should not be cleared unless the ISR reads the SCIDRL register. Perhaps a posting of code of the transmit ISR would provide a bit of insight.
We are not aware of such issue and we cannot reproduce it. Could you
pleas provide your project for us team to analyse it?

best regards
Vojtech Filip
Processor Expert Support Team
UNIS

ProcessorExpert <support@processorexpert.com> wrote:

> We are not aware of such issue and we cannot reproduce it. Could you > pleas provide your project for us team to analyse it?
I'd gladly help you there, but i must admit that the solution already was pointed out to me at freescale's forum: stack was a tad too small and overflowed... No more encounters of that behaviour since i increased the stack size. Sometimes what you think you see isn't exactly what's really going on :-/ Regards, Florian