-
Ergebnis 1 bis 5 von 5

Thema: SerialPort in VB

  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    24
    Beiträge
    3.487
    Blog-Einträge
    9

    SerialPort in VB

    Hallo Forum,

    ich bastel gerade bischen mit Visual Basic und meinem RN-Control rum und komme beim SerialPort nicht wirklich weiter.
    Ich habe eine Form wo ein Button und zwei Textfelder drauf sind. In die Textfelder gibt man die Baudrate und den COM-Port ein und klickt dann auf Verbinden. Sobald eine Verbindung hergestellt wurde, wird ein zweiter Button enabled der eine zweite Form aufruft. Diese Form soll den Mikrocontroller nach den ADC-Werten fragen und den Wert für jeden ADC-Pin in einem Textfeld darstellen.
    Mein Problem ist folgendes:
    Wie schaffe ich es das man sich mit dem eingestellten COM-Port und die Baudrate verbindet und diese Einstellungen dann in die zweite Form übernommen werden? Desweiteren brauche ich eine Möglichkeit wie der SerialPort1 aus der Form1 auch in Form2 aktiv bleibt und da genutzt werden kann. Ich habe es bisher so probiert das Form1 und 2 jeweils einen SerialPort hatte und das wenn man Form 2 aufruft der Port in Form1 geschlossen wird und in Form 2 geöffnet. Aber für den umgedrehten Weg (also Form2 und den Port schließen und gleichzeitig in Form1 öffnen) klappt noch nicht.
    Und ich konnte die Parameter des COM-Portes auch nicht übergeben, sprich ich musste fest definierte Werte nehmen (und ein zweites Fenster zum Verbinden usw. ist irgendwie nicht schön).
    Hat jemand eine Lösung für dieses Problem?
    Danke für die Hilfe.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    34
    Beiträge
    641
    Hallo Kampi,

    du kannst die Serial port Parameter ganz einfach ändern z.B so:
    serial Port1.baudrate = 9600
    oder wenn du mehrere Baudraten auswählen willst schreibst du einfach:
    If Textbox 1. Text = 9600 Then
    serialport1.Baudrate =9600
    end if

    Du kannst das natürlich auch mit den Portnamen genauso machen. Du musst aber beachten das du den Serialport schließen musst wenn du die Werte ändern willst, sonst kommt eine Fehlermeldung, die du aber mit der exeption Handling abfangen kannst.

    Bei dem Problem mit den mehrern Formularen kann ich dir aber nicht weiterhelfen, ich habe die Main Form immer im Hintergrund laufen lassen.
    Wenn du Variablen aus der Main Form in der Form2 anzeigen lassen willst, musst du diese als Public deklarien deklarien.

    Mfg
    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    24
    Beiträge
    3.487
    Blog-Einträge
    9
    Hi,

    danke für deine Antwort. So wie du das geschrieben hast verwende ich es bereits.
    Mein Code ist der folgende:
    Code:
            Try
                SerialPort1.PortName = "COM" & COM_Port.Text
                SerialPort1.BaudRate = Baudrate.Text
                SerialPort1.Open()
    
                Verbinden.Enabled = False
                Trennen.Enabled = True
                Senden.Enabled = True
                Eingabe.Enabled = True
                LED_aktivieren.Enabled = True
                ADC.Enabled = True
                COM = COM_Port.Text
                Baud = Baudrate.Text
    
            Catch ex As Exception
    
                MsgBox("Verbindungsfehler!")
    
            End Try
    Der wird ausgeführt sobald man auf den Verbinden-Button drückt.
    Wenn ich nun einfach schreibe:

    Code:
        Public COM As byte
        Public Baud As Integer
    
        COM = COM_Port.Text
        Baud = Baudrate.Text
        SerialPort1.PortName = "COM" & COM
        SerialPort1.BaudRate = Baud
    Dann würden die Parameter auch für jede andere Form gelten? Wenn ja wäre ein Problem schonmal erledigt
    Dann muss ich nur noch wissen wie man den COM schließt und in einer anderen Form öffnet wenn man einen Button drückt. Außerdem muss dieser COM dann in der zweiten Form geschlossen werden und in der ersten wieder geöffnet werden, wenn man die zweite Form schließt.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    34
    Beiträge
    641
    Hallo Kampi,
    den Com Port schließen kannst du mit Serialport1.close().
    Aber wie du den Com Port in die X. Form übergeben kannst weiß ich leider auch nicht.
    Vielleicht kannst du mal versuchen Variablen als Merker zu verwenden die eben bei bestimmten bedingungen gesetzt und ausgewertet
    werden können. z.B

    If serialport1.open then
    Merker =1
    else
    Merker =0
    end if

    und in der 2. Form dann:
    If Merker = 1 Then
    Serialport1.open
    else
    Serialport1.close
    end if

    Wäre ja einen Versuch wert.
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    24
    Beiträge
    3.487
    Blog-Einträge
    9
    Hi,

    danke für den Tip.
    Ich probiere es nachher mal aus.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. Beispiel Anwendung C# Zugriff auf SerialPort
    Von shedepe im Forum Open Source Software Projekte
    Antworten: 48
    Letzter Beitrag: 25.02.2014, 14:50
  2. SerialPort & Visual Studio 2008
    Von fat tony im Forum Software, Algorithmen und KI
    Antworten: 31
    Letzter Beitrag: 09.01.2012, 14:26
  3. Von String to Hex SerialPort
    Von !*sascha*! im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 04.03.2009, 16:52
  4. [ERLEDIGT] Einzelne Leitungen des Serialport steuern
    Von wollez im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 18.02.2005, 20:06
  5. Welche Programmiersprache für SerialPort und Multimedia?
    Von tfranz im Forum Software, Algorithmen und KI
    Antworten: 4
    Letzter Beitrag: 31.08.2004, 13:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •