Wenn DU ne Hardwarelösung willst solltest Du Dir mal die CAN-Bus Bausteine anschauen, die machen sowas, bei 485 muss man sich um sowas selber kümmern. RS485 beschreibt nur die elektrische Seite der Übertragung, sonst nix.

Die Umwandlung Deines Codes ist sogar noch verhältnismäßig überschaubar.
Zum Einen solltest Du Dir mal das UCSRA Register anschauen, bzw. das TXC-Flag, damit kann man recht elegant die Umschaltung von Senden auf Empfangen lösen ohne Wait Befehle.
Dann noch CRC (gibts auch als Bascom Befehl) und n Array als Overlay über Deinen Sende- / Empfangsstring.
Dann noch das FE-Flag für den Empfang und n Ack vom Slave als Antwort bei verstandenem Befehl, bzw. Nack. Dann noch n Timeout beim Master für Befehle die ins Leere gegangen sind und gut ist.