Ага, была мысль, сделать два буфера. Один для UART, 2й заполняется уже цельными строками из буфера УАРТ. И уже в нём строка разбирается.
Что у вас значит "Использую неожидающую функцию getchar()" ?
Как лучше организовать заполение 2го буфера цельными строками из буфера УАРТ? Пока подумал в основной программе отслеживая начало посылки и конец. И затем переностить в 2й буфер.