diff options
Diffstat (limited to 'nuttx/arch/arm/src/kinetis/kinetis_lowputc.c')
-rw-r--r-- | nuttx/arch/arm/src/kinetis/kinetis_lowputc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c b/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c index 5529443c3..a808e0917 100644 --- a/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c +++ b/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c @@ -424,10 +424,18 @@ void kinetis_uartconfigure(uintptr_t uart_base, uint32_t baud, putreg8(UART_PFIFO_RXFE | UART_PFIFO_TXFE, uart_base+KINETIS_UART_PFIFO_OFFSET); #else + /* Otherwise, disable the FIFOs. Then the FIFOs are disable, the effective + * FIFO depth is 1. So set the watermarks as follows: + * + * TWFIFO[TXWATER] = 0: TDRE will be set when the number of queues bytes + * (1 in this case) is less than or equal to 0. + * RWFIFO[RXWATER] = 1: RDRF will be set when the number of queues bytes + * (1 in this case) is greater than or equal to 1. + * /* Set the watermarks to one and disable the FIFOs */ putreg8(1, uart_base+KINETIS_UART_RWFIFO_OFFSET); - putreg8(1, uart_base+KINETIS_UART_TWFIFO_OFFSET); + putreg8(0, uart_base+KINETIS_UART_TWFIFO_OFFSET); putreg8(0, uart_base+KINETIS_UART_PFIFO_OFFSET); #endif |