Naja, ohne daß der UART-Widerpart mitspielt, ist das schwierig. Die üblichen Autobaud-Verfahren beruhen darauf, daß ein definiertes Zeichen empfangen wird, und aus dem eventuellen Lesefehler dann die Korrektur abgeleitet wird.
Aber der zugehörige Code ist ab dann natürlich überflüssig.