I use the receiving UART interrupt to get data. The FIFO level of RX is 7/8. When the FIFO receives 14 bytes of data, the RX interrupt will be triggered. At the same time, the timeout interrupt is also enabled. Under normal circumstances, data reception is normal, and I can increase a counter in the interrupt. When the timeout interrupt comes, I know that the current data frame has been received and the length of the data frame can be recorded. But when the length of the data frame is a multiple of 14, after the last byte is received, only the RX receive interrupt is triggered, and the timeout RT interrupt is not triggered. In this way, I can't judge whether the data has been received, because the data frame I receive is variable in length, so I can't judge whether the data is received through the RX interrupt.
My question is is there any way to know the dataframe length in this case?