Hallo
Mein Controller sollte einen Motor schalten, je nachdem was für ein Zeichen er bekommt, genauer gesagt sollte er jeweils anders reagieren, wenn er ein "a" oder ein "A" empfängt und den Inhalt des nächsten Zeichens, dass er empfängt an eine Variable weitergeben.
Den Inhalt zweiten zeichens wollte ich als Byte Wert für die PWM auflösung nehmen.

Das nur zur Erklärung des Programms, das Problem liegt in einem anderen Teil.
Ich habe den Print-Befehl ein einigen Stellen eingebaut um zu gucken, wo das Programm landet. Zu erst fehlte das ' Print "Lebenszeichen2" ' aus der zweiten Zeile, in diesem Fall konnte ich im (Bascom)-Terminal keine reaktion sehen, auch wenn ich versucht hab irgendein Zeichen zu senden.
Nach dem einfügen der Zeile bekam ich:

Lebenszeichen2
Lebenszeichen
128
da war was
was sich laufend wiederholte. Also muss das senden meiner Nachricht "Lebenszeichen2" das "Usr.rxc" gefüllt haben, das dann auch immer gefüllt blieb/neu gefüllt wurde. Ich hatte angenommen "Usr.rxc" wäre nur zum empfangen, oder war das in meinem Beispiel falsch?

Der Quellcode ist unten angefügt (ausschnitsweise).
vielen Dank schon mal, mfG

Code:
Do
Print "Lebenszeichen2"

   'uart IN
  If Usr.rxc = 1 Then                                       'Wenn Byte empfangen...
    I = Udr                                                 'Byte aus UART auslesen
    Print "Lebenszeichen"
    Print I
    Select Case i
    Case "A"                                                'Motor 1 vowraerts
      Portc.1 = 0
      Portc.2 = 1
      Mo1 = 1
      Print "Das A ist angekommen"
    Case "a"                                                'Motor 1 rueckwaerts
      Portc.2 = 0
      Portc.1 = 1
      Mo1 = 1
      Print "Das a ist angekommen"
    Case Else
    Print "da war was"
      If Mo1 = 1 Then
         Mo1s = I
         Mo1 = 0
      End If
         If Mo2 = 1 Then
         Mo2s = I
         Mo2 = 0
      End If
         If Mo3 = 1 Then
         Mo3s = I
         Mo3 = 0
      End If
    End Select
  End If

Ocr2 = Mo1s

Loop