- fchao-Sinus-Wechselrichter AliExpress         
Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 80

Thema: Mit VB über FTDI Roboter steuern

  1. #21
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Anzeige

    Praxistest und DIY Projekte
    Es wird sich wohl niemand hier hinsetzen und dir eine fertige Software schreiben
    Das stimmt!

    Ich habe jetzt mal das gefunden: (http://support.microsoft.com/kb/904795)
    Da steht das :

    Function ReceiveSerialData() As String
    ' Receive strings from a serial port.
    Dim returnStr As String = ""

    Using com1 As IO.Ports.SerialPort = _
    My.Computer.Ports.OpenSerialPort("COM1")
    Do
    Dim Incoming As String = com1.ReadLine()
    If Incoming Is Nothing Then
    Exit Do
    Else
    returnStr &= Incoming & vbCrLf
    End If
    Loop
    com1.Close()
    End Using

    Return returnStr
    End Function

    Doch weiß ich noch nicht ,wie ich die TextBox einbinde und ob dieser Code für mich überhaupt geeignet ist ,da ich ja gar keine IO.Ports habe , sondern einen USB to UART Brückentreiber????
    Zu der Frage 1 musst du mir nichts sagen ,damit ich auch mal etwas selbst versuche ,wie du es auch schon gesagt hast. Aber zu der Frage 2 wäre es sehr nett ,da ich diese nicht beantworten kann .

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Der COM Port ist ein IO.Port. Auch bei dir! Was du an hardware da liegen hast ist egal solange es als COM in Windows erkannt wird.

    Was du da gefunden hast ist im Prinzip genau das gleiche wie das was ich dir schon geschrieben habe. Nur das meine Version abgespeckter ist. Das ist einfach nur eine Funktion die alles mitbringt um von der seriellen Schnittstelle zu lesen. Aufrufen musst du sie aber trotzdem noch. Sei es per Button oder alle paar sekunden.

    Erstelle doch mal eine zusätzliche Textbox und einen Button. Dann bau dir das so zusammen, das du per Button click was von der seriellen Schnitte lesen kannst. Wenn das klappt, können wir weiter überlegen, wie wir das lesen automatisieren sodass du nicht immer clicken musst.

    Also in den Click event von dem neuen Button schreibst du:

    Code:
    Try             
    
    dim getText as String
    SerialPort1.PortName = TextBox1.Text             
    SerialPort1.BaudRate = TextBox2.Text      
    
    SerialPort1.Open() 
    getText = SerialPort1.Readline() 
    SerialPort1.Close()
    
    TextBox3.Text = getText 
    
    Catch ex As Exception             
    MsgBox("Verbindung konnte nicht hergestellt werden") 
    End Try
    Jetzt schickst du was an die serielle Schnitte und drückst den Button. Achte darauf das du ein "CR LF" sendest. Dein Programm wartet nämlich auf das Zeichen.

    Schreib mal hinter jede Zeile in dem Buttonclick Event einen Kommentar mit dem was du denkst was da passiert. Ich will sehen das du auch verstehst was da passiert.

    Das ist ungetestet! Wenns nicht gleich läuft poste die Fehlermeldungen.
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  3. #23
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Wie meinst du das mit dem CR LF ???
    Soll ich das von meinem MC aus an den PC schicken ??

    Also so:
    Print "Auto ist toll"
    Print "CR LF"

  4. #24
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Fast richtig! Mit dem MC an den PC was senden genau!

    Programmierst du deinen MC mit Bascom?
    Falls ja einfach nur:
    Code:
    Print "Auto ist toll"
    Bei Bascom wird jedem Printbefehl ein CR&LF angehängt. Dadurch wird der nächste Text in eine neue Zeile geschrieben.
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  5. #25
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Programmierst du deinen MC mit Bascom?
    Ja .
    Bei Bascom wird jedem Printbefehl ein CR&LF angehängt
    Aha, das wusste ich noch nicht. Danke.

    Hier ist die kleine Aufgabe von dir .Hoffentlich richtig gelöst??
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    Try 'Versuche

    Dim getText As String 'Deklariere getText als String
    SerialPort1.PortName = TextBox1.Text 'Portname wird TextBox 1 entnommen
    SerialPort1.BaudRate = TextBox2.Text 'Baudrate wird Text Box 2 entnommen

    SerialPort1.Open() 'öffnet Serial Port
    getText = SerialPort1.ReadLine() 'Das ,was empfangen wurde ,wird der Var getText zugeordnet
    SerialPort1.Close() 'schließt Serial Port

    TextBox3.Text = getText 'Schreibt in die Text Box 3 den empfangenen Wert ????

    Catch ex As Exception
    MsgBox("Verbindung konnte nicht hergestellt werden") 'Wenn es nicht geht soll das erscheinen
    End Try
    End Sub



    Und hier noch mal der Code komplett:

    Code:
    Public Class Form1
    
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
                SerialPort1.PortName = TextBox1.Text
                SerialPort1.BaudRate = TextBox2.Text
                SerialPort1.Open()
                Button1.Enabled = False
                Button2.Enabled = True
                Button3.Enabled = True
    
            Catch ex As Exception
                MsgBox("Verbindung konnte nicht hergestellt werden")
            End Try
        End Sub
    
        Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            If SerialPort1.IsOpen = True Then
                SerialPort1.Close()
            End If
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            SerialPort1.Write("1" & vbCr)
    
        End Sub
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            SerialPort1.Write("0" & vbCr)
        End Sub
    
    
        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            Try                                                'Versuche
    
                Dim getText As String                     'Deklariere getText als String
                SerialPort1.PortName = TextBox1.Text       'Portname wird TextBox 1 entnommen
                SerialPort1.BaudRate = TextBox2.Text        'Baudrate wird Text Box 2 entnommen
    
                SerialPort1.Open()                           'öffnet Serial Port
                getText = SerialPort1.ReadLine()              'Das ,was empfangen wurde ,wird der Var getText zugeordnet
                SerialPort1.Close()                           'schließt Serial Port
    
                TextBox3.Text = getText                     'Schreibt in die Text Box 3 den empfangenen Wert ????
    
            Catch ex As Exception
                MsgBox("Verbindung konnte nicht hergestellt werden")         'Wenn es nicht geht soll das erscheinen
            End Try
        End Sub
    End Class

  6. #26
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Super! Ist richtig.

    Ich sehe gerade evtl kannst du auf die getText variable verzichten und direkt "TextBox3.Text = SerialPort1.ReadLine()" schreiben. Das kannst du ja mal ausprobieren.

    Funktioniert das denn so?
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  7. #27
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Also ich habe jetzt mal den ganzen Code getestet. Hat nicht funktioniert. Nicht nur das Empfangen ,sondern auch das Senden hat nicht mehr geklappt.Und es ist auch wieder die Fehlermeldung : Es ist eine Ausnahme in ... aufgetreten. Warum ??

  8. #28
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Fehlermeldung?
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  9. #29
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.05.2012
    Beiträge
    511
    Ja ,beim Direktfenster.

  10. #30
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Also die MsgBox?

    Dann ist die serielle Schnittstelle evtl. schon offen oder du hast irgendwelche Parameter falsch angegeben.
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte

Ähnliche Themen

  1. Roboter über internet Website steuern
    Von Mikel36 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 10.12.2008, 18:13
  2. visueller roboter über atmega32 steuern
    Von roboterheld im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 2
    Letzter Beitrag: 16.11.2007, 19:49
  3. Roboter über PocketPC steuern
    Von wanderer im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 08.08.2006, 23:50
  4. [ERLEDIGT] Roboter über RS232 steuern
    Von Frischling im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 01.12.2004, 07:36
  5. Roboter über PC steuern
    Von jens84 im Forum Elektronik
    Antworten: 17
    Letzter Beitrag: 03.07.2004, 11:03

Berechtigungen

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

LiFePO4 Speicher Test