Serielle Schnittstelle in VB2005

OP #994095
Hallo.
Ich hab ein kleines Problem mit dem schließen des Com Ports in VB2005.
Ich möchte mit meinem Programm eine Art "Sendersuchlauf" durchführen um 
von dem am Comport angeschlossenen XBee die Baudrate herauszufinden. Das 
ganze funktioniert schon ganz gut. Ich beginne mit 
serialport.write("+++") auf 1200Baud und erhöhe dann die Baudrate 
schrittweise. Wenn die Baudrate der des XBEE entspricht bekomme ich ein 
OK.
Sobald ich dieses OK gefolgt von 13 in Byte (was der Enter Taste 
entspricht) bekomme, schicke ich die init (ATBD3, usw.) für 9600Baud und 
möchte die Baudrate des PC´s siehe Codeschnippsel auf 9600 ändern. 
Leider hängt sich das Programm nach dem serialport.close() befehl auf 
sobald einmal daten empfangen worden sind.

Bitte um Hilfe!

Public Sub config_serial()


        If serialPort.IsOpen Then serialPort.Close()


        Try
            With serialPort
                .PortName = cbbCOMPorts.Text
                .BaudRate = 9600
                .Parity = IO.Ports.Parity.None
                .DataBits = 8
                .StopBits = IO.Ports.StopBits.One
                .ReadTimeout = 2000
            End With

            serialPort.Open()
        Catch ex As Exception
            MsgBox("Com Port konnte nicht geöffnet werden")
        End Try


    End Sub
OP
Sobald die Baudrate vom PC mit der Baudrate des XBEE übereinstimmt, 
bekomme ich auf mein vom PC aus gesendetes +++ vom XBEE die antwort 
"OK"+ Enter
Dann weiß mein Programm das der XBEE momentan auf beispielsweise 19200 
Baud konfiguriert ist.

Zum Empfangen verwende folgende Routine

Dim Empfang in Byte

Empfang = serialport.readbyte()

If Empfang = 13 then xbee_gefunden()

ansonsten Baudrate erhöhen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.