After almost a week of debugging and looking for clues at all the places.. we found the bug we had. We were getting CTI and not RDA because our FIFO was getting set to trigger after 14 characters although we were trying to set it to 1, 4 or 8. The culprit ... a read modify write instruction we had. The uart FIFO register U0FCR is a write only register and after intializing, we were doing something like REG_UART1_BASE->regUFCR |= REG_UART_UFCR_FIFO_EN_MASK; which was a read modify write. UFCR and UIIR happen to share the same address (its a union) and so we were actually reading IIR and writing back to FCR. Boy... what a killer that was to find and what a lesson to remember for life - NEVER READ MODIFY WRITE a register which is write only. Thanks a lot to all members who gave me tips. Swetha
Message
Re: UART CTI ( Character time out indicator) Interrupt - Problem solved
2006-02-08 by swetha_araga