There are 17 possible interrupt sources in the USART. In an ISR (interrupt service routine) what specific actions cause each of those interrupt conditions to be cleared? In some cases it seems like reading the CSR (Channel Status Register) should do it and in other cases reading the RHR or writing THR might be required.
I would have expected this information in the datasheet, but maybe it is elsewhere. Any hints?