also,

du verwendest prinzipiell die UART

die UART versendet prinzipiell bis auf Ausnahmen'

1 Startbit, 8 Datenbit und die Stopbit.

das Startbeit z.B. "FF" ist gleich dezimal Zahlenwert 255
oder Binärer Wert 11111111 , also 8 Bit.

Du sendest also ein Zeichen, keine zwei.

Bei der RS485 ist es auch wichtig darauf zu achen, das
auch alle Daten übertragen wurden und nicht noch welche
im Sendepuffer hängen bevor man von schreiben auf Lesen
umschaltet. Die RS485 kann zwar sehr hohe Datenraten,
aber nur Halbduplex (!!) sie kann nicht gleichzeitig senden und
Empfangen (!)

ich hab das so gelöst:

Rw485=1 (Schreibrichtung)
print chr(255);"abcdefg"; (255 = Hex FF)
do
loop until Ucsra.txc=1 (prüfen auf leeren Sendepuffer)
set Ucsra.txt (wieder zurücksetzen für nächste Operation)
Rw485 = 0 (Auf Empfangsbereitschaft)

Wenn Du Zahlenwerte größer als 8Bit (0-255) versenden
willst mußt du den Wer zerlegen in seine Bytewerte
und die dann einzeln versenden und im Empfänger wieder
zusammensetzen.

z.B. Word-Variable
dim x as word
dim y as byte

y=x (die unteren 8 Bit herauskopieren)
print chr(y); (senden)
shift x, right, 8 (das Highbyte an die Lowbyte Position schieben)
y=y(wieder die unteren 8 Bit herauskopieren (ehemals Highbyte nun Lowbyte))
print chr(y); (senden)

Einfacher gehts mit Overlayvariablen.
Dim Wordvariable as word at &H90
dim Lowbyte as byte at &H90 overlay
dim highbyte as byte at &H91 overlay

print chr(highbyte);
print chr(lowbyte);