www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kommunikation PIC - vb.net


Autor: Martin Ra (rama123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen PIC mit USB über den ich Daten an ein vb.net Programm 
schicke. Das Funktioniert auch alles prima.
Jetzt habe ich mein vb Programm so erweitert, dass es sich automatisch 
mit dem Kontroller verbindet. Hierfür frage ich einmal die Sekunde die 
vorhandenen COM-Ports ab und wenn der richtige dabei ist verbinde ich 
mich mit ihm.
Um zu überprüfen ob die Verbindung noch besteht schicke ich anschließend 
Daten zum PIC, wenn diese nicht mehr gesendet werden können ist die 
Verbindung weg und das vb Programm beendet die Verbindung.
Auch das Funktionert noch.
Wenn ich den USB-Stecker rausziehe trennt sich die Verbindung und wenn 
ich den Stecker wieder reinstecke verbinden sich PIC und das vb Programm 
auch wieder.
Wenn ich allerdings den Stecker rausziehe und schnell wieder reinstecke 
findet das vb Programm den COM Port nicht. Im Gerätemanager taucht er 
allerdings auf.
Ich hoffe es kann mir jemand helfen.

Gruß Martin
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim i As Integer

        ' Com-Ports suchen und laden
        If FlagsConnect = 0 And FlagsComFound = 0 Then
            Me.comboPort.Items.Clear()
            For i = 0 To My.Computer.Ports.SerialPortNames.Count - 1
                Me.comboPort.Items.Add((My.Computer.Ports.SerialPortNames.Item(i) & "     ").Substring(0, 5).Trim)
            Next
            Me.comboPort.Sorted = True
            Dim LoadComPortDesc As New System.Threading.Thread(AddressOf LoadComPortDescription)
            LoadComPortDesc.Start()
        End If

        ' Daten an Pic senden, wenn diese nicht gesendet werden können Verbindung trennen
        If FlagsConnect = 1 Then
            Try
                COM.Write(Data, 0, 3)
            Catch ex As Exception
                Disconnect()
            End Try
        End If

        ' wenn richtiger COM Port gefunden, Verbindung aufbauen
        If FlagsComFound = 1 And FlagsConnect = 0 Then
            Connect()
        End If
    End Sub

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.