VB.net soll Daten vom Atmel 2561 empfangen

OP #1033747
Lesenswert?

Hallo Leute,

Habe mal ein Problem wo ich beim lesen im Forum nicht weitergekommen bin 
und brauche jetzt mal Hilfe von euch. Habe ein Problem bei einem VB.net 
Programm welches mit meinem Atmega 2561 sprechen soll. Da ich mit VB.net 
noch nicht so viel Erfahrung habe weiß ich nicht was ich verkehrt mache.

Ich möchte vom Atmega Daten empfangen. Es soll ein String mit dem Wert 
"EIN" oder "Aus" zum Computer gesendet werden.

Jetzt mein Problem, wie muß ich das anstellen ?

Habe es bis jetzt so versucht, aber mein Programm hängt sich dann auf:

        ComPort.Open()
        ComPort.Write("6")
        ComPort.Close()

        ComPort.Open()
        Dim S_CH01 As String
        S_CH01 = ComPort.ReadLine()
        ComPort.Close()

        If S_CH01 = "Ein" Then
            cmdKanal_01.BackColor = Color.Green
        Else
            cmdKanal_01.BackColor = Color.Red
        End If

Das senden zum VB Programm klappt wirklich gut, nur wie kann ich Daten 
empfangen ?

Bräuchte wirklich dringend Hilfe.

Gruß Jörg

PS: Suche noch ein Buch wo ich sowas nachschlagen kann. Könnt Ihr mir 
ein Buch oder einen Kurs empfehlen ?
OP #1035781
Lesenswert?

Hallo Timo,

danke für deine Antwort. Wie sende ich den CR+LF von Bascom aus, sende 
die Daten per print #2, "Ein".

Dann sollte er auch CR LF senden.

Der Code in Bascom:

   Config Com2 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 1 ,
   Databits = 8 , Clockpol = 0
   Open "com2:" For Binary As #2

      Enable Interrupts
      Echo On
         Readeeprom S_speicher_ein_aus_a , &H9C0
            Print #2 , "Ein"
   Close #2

Gruß Jörg, der noch weitere Hilfe braucht.
#1036144
Lesenswert?

ComPort.Close()

ComPort.Open()

Evtl. ist das zu schnell hintereinander. Du testest ja gar nicht auf 
ComPort.IsOpen. Und wieso machst du ihn überhaupt zu wenn du ihn eh 
wieder aufmachst? Ich würde den auf machen, die "6" senden dann eine 
Endlosschleife machen und dafür ein DataReceived-Event verwenden um ein 
Flag zu setzen, welche dann die Schleife verlässt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren