Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: UART CTI ( Character time out indicator) Interrupt - Problem solved

2006-02-08 by swetha_araga

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

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.