hello,
I'm setting the LPUART FIFO RX and TX sizes and it only seems to be 4 words (0b001) and cannot be set to any other value. In the RM it says that it can be up to 256 words (up to 0b111). I've verified that I can set the RXFE, RXTE and RXIDEN bits properly.
// disable transmit and receive so can set FIFO
LPUART1->CTRL &= !( LPUART_CTRL_TE_MASK | LPUART_CTRL_TE_MASK);
// set fifo - 1 word RX, 32 dataword TX, TX and RX FIFO enabled, 1 byte idle before RDRF transmit
LPUART1->FIFO = LPUART_FIFO_RXFIFOSIZE(0b000) | LPUART_FIFO_TXFIFOSIZE(0b100) | LPUART_FIFO_TXFE(0x01) | LPUART_FIFO_RXFE(0x01) | LPUART_FIFO_RXIDEN(0x01);
When I check with debugger, only RXFE, RXTE and RXIDEN bits are set, the RXFIFOSIZE and TXFIFOSIZE are both 0b001 (both starting values and after trying to set).
Does the LPUART support FIFO depths of anything besides 4 words?
best,
Fred
Solved! Go to Solution.
Hello,
The S32Kxx devices support only 4-word FIFO.
See Table 48-1. LPUART instances and features
Regards,
Daniel
great, thank you - understand now that it is a read-only field which indicates the FIFO size (not a way to set FIFO size).
Hello,
The S32Kxx devices support only 4-word FIFO.
See Table 48-1. LPUART instances and features
Regards,
Daniel