Hat sich erledigt, der fehler lag darin dass usart_buffer[0] nie etwas anderes als '\0' zugewiesen bekam (das usart_pos++ gehört ans ende des unteren else

thx trotzdem