Part Number:TMS320C5535
Hello,
I am using UART on C5535 with receive fifo and interrupts enabled. Transmit interrupts are disabled. Baud rate is 115200 Baud. When there is a lot of communication via UART, the ISR suddenly isn't called anymore. When I have a look at the registers in that situation, receiver data available bit is set in IIR. But dsp doesn't jump into ISR. I am using dsp bios and the interrupt dispatcher.
void UART_intrDispatch(void)
{
do
{
dataReceived();
}
while (CSL_FEXT(hUart->uartRegs->IIR, UART_IIR_IPEND) // todo: check int handling
== CSL_UART_IIR_IPEND_PENDING);
}
void dataReceived(void)
{
Char data;
UART_read(hUart, &data, 0, 0);
// do some stuff with the data
}
What is the reason for that? How should UART inetrupts be handled correctly?
Thanks in advance
Marc