Print liefert nicht ein Byte, sondern mehrere - nämlich die
ASCII-Repräsentation des (dezimal-)Wertes. Deren Länge ist vom Wert
abhängig.
Ist der Wert beispielsweise (dezimal) 65, dann liefert Print zwei Bytes
an der seriellen Schnittstelle ab, nämlich 0x36 und 0x35, '6' und
'5'.
Bei (dezimal) 204 sind's bereits drei Bytes (0x32, 0x30 und 0x34, halt
'2', '0' und '4'.
Steht hinter dem Variablennamen kein Semikolon, so wird noch ein
Zeilenvorschub angehängt, was ein oder zwei weitere Bytes (0x0d und
eventuell 0x0a) zur Folge hat.
Damit gibt
Dim a As Byte
A = 65
Print A
deutlich mehr als nur ein Byte an der seriellen Schnittstelle aus,
nämlich den String 0x36, 0x35, 0x0d (0x0a).
Printbin gibt hingegen eine definierte Anzahl an Bytes, die vom Typ der
Variablen abhängt; ein Byte resultiert in einem Byte, ein Integer
resultiert in zwei Bytes und ein Long resultiert in vier Bytes.
(Das ist in der BASCOM-Dokumentation beschrieben)
Das dürfte das Phänomen klären - und darauf hinweisen, daß irgendwas
mit der Baudrate der seriellen Schnittstelle überhaupt nicht stimmt.
Vermutlich läuft der Controller mit einer anderen Taktfrequenz als
angenommen.