а можно как-то получая через UART сообщения разной длины, вычислить когда конец сообщения? или это возможно исключительно обработкой ручной по какому-то флагу (из протокола или как-то так)?
Если передача ascii, то они как у виннды часто разделяются нулями, а если рандлмную инфу, то просто временные паузы