So sry war arbeiten. Also ich weis auch nicht warum aber jetzt auf einmal funktioniert wieder alles. Hab nur eine Stringlänge von 4 auf 3 runtergesetzt. Kann das was damit zu tun haben? Oder dass ich einen Text/Zahl sende, welcher as Integer definiert ist, die empfangenen Daten aber als String definiere?

EDIT: Habe das Gefühl es hängt damit zusammen.
Der Terminal ist ein selbst geschriebener mit VB. Der sendet einfach nur den Inalt von einer Textbox (Text1.Text). Der ATMEGA644 sendet wie folgt:

Dim Geraete As Byte
Dim Geraete1 As String * 3

Do
.
.
.
.
.
Gosub Senden
Print "300" 'Wecker ein
Print "301" 'Wecker aus
Loop
End

Senden:
Geraete1 = Str(geraete)
Print Format(geraete1 , 000)
Return


Also einmal definierte Variablen und einmal einfach nur "300" bzw. "301"