This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Interrupt Lost

My device works well with UART in 57.6Kbps. But in 115.2Kbps, it seems that some data is lost. Since I do not disable interrupt in my own code, and the interrupt handler is enough fast. Is it possible the data is lost during some RTX function? And which functions will disable interrupt when they were called?
Thanks.

Parents
  • It's possible that your ISR takes too long to process the incoming char. That is, you receive more than 2 chars while processing the char that interrupted you.

    Or, you have other ISR's that delay your receive char ISR from running soon enough.

    Is your serial ISR long? Do you have other ISR's running? What chip are you using?

    - Mark

Reply
  • It's possible that your ISR takes too long to process the incoming char. That is, you receive more than 2 chars while processing the char that interrupted you.

    Or, you have other ISR's that delay your receive char ISR from running soon enough.

    Is your serial ISR long? Do you have other ISR's running? What chip are you using?

    - Mark

Children
  • Are you handeling the received character totaly within the ISR or are you buffering the character and signaling a task to handel it? If it is the later case, then maybe the ISR is not the problem. It could be that the task load is the problem. (Also the Comm example for the RTX is not totally bullet proof.) Can you put a simple counter in the ISR to verify the ISR is place where the character is being dropped?