The actual changes required to the code presented in Section 11.5 are modest. We must configure two additional pins for nCTS and nRTS, modify the initialization of the USART to allow nCTS to halt the transmitter, and modify both the interrupt handler and getchar routines. Our strategy is to define a “high water” mark in the input buffer below which the software asserts nRTS and above which it de-asserts nRTS. The high water mark provides room for additional characters to arrive after nRTS is de-asserted