Ok ich benötige bitte Hilfe ich möchte zum testen erstmal 3 zustände realisieren wobei es schon beim ersten Zustand zu Problemen kommt. Mit folgendem Code funktioniert es das eine Led an oder aus geht das allerdings äusserst selten. Ich glaube das sich da bei der Übertragung überschlägt. Die Leitung habe ich geprüft es kommen keine fehlerhaften Zeichen an ,... ich denke es liegt an einem ordentlichen Timing?

Warum wird trotz das ich eine eins oder zwei sende das bei der Led so nicht geschaltet?


Gruß Thomas

C# code
Code:
if ((data.lightBits3 & 0x10000) != 0)
                {
                    txtNoseGear.Text = "1";  // ausgefahren
                    serialPort1.Write("2");    // sende eine 2 an den Chip
                } else {
                    txtNoseGear.Text = "0"; // eingefahren
                    serialPort1.Write("1");   // sende eine 1 an den Chip

                }
                Thread.Sleep(1);

Bascom code
Code:
'LED1 an PB0
Led1 Alias Portb.0
Config Led1 = Output


Dim A As Byte


Do

  A = Inkey()                                               



  If A = 1 Then                                             
    Led1 = 0               //Rad eingefahren LED ausschalten
  End If

  If A = 2 Then                                            
    Led1 = 1              //Rad ausgefahren LED ausschalten
  End If


   'If A > 0 Then                                            'we got something
   ' Print "ASCII code " ; A ; " from serial"
   'End If

Loop                                                        


A = Waitkey()                                               'wait for a key

'Print Chr(a)

Do

Loop Until Inkey() = 27

End

Gegentest mit Putty // Werte in Bascom als ASCII ersetzt
Nun kann ich per Tastatur und den Tasten 1 & 2 die Led ein oder ausschalten.
Bei dieser Variante viel mir auch auf das wenn die Led eigentlich angehen sollte sie ausgeht und umgekehrt.
Tastatur 1 = Led geht an / Tastatur 2 = Led geht aus
Irgendwie ist doch hier der Wurm drin?

Code:
'LED1 an PB0
Led1 Alias Portb.0
Config Led1 = Output


Dim A As Byte


Do

  A = Inkey()                                               



  If A = 49 Then                                             
    Led1 = 0               //Rad eingefahren LED ausschalten
  End If

  If A = 50 Then                                            
    Led1 = 1              //Rad ausgefahren LED ausschalten
  End If


   'If A > 0 Then                                            'we got something
   ' Print "ASCII code " ; A ; " from serial"
   'End If

Loop                                                        


A = Waitkey()                                               'wait for a key

'Print Chr(a)

Do

Loop Until Inkey() = 27