Hi,
genau, die Initialisierungen sind so richtig kommentiert.
Die Zeile mit dem Encoding kannst du auch weg lassen. aber wenn du da Big Endian (die anderen Möglichkeiten stehen alle in System.Text.Encoding) oder so reinschreibst, interpretiert die Schnittstelle die eingehenden Daten nicht richtig (weil die anders angeordnet sind als reine ASCII Zeichen).
Zu den Methoden:
Die Schnittstelle läuft ab dem Connection.Open. Ab da empfängt sie Daten. Kommen nun Daten, so wird ein Event ausgelöst. Dieses Ereignis / Event heißt DataReceived.
Dieses Event wird in
Code:
Private Sub Connection_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles Connection.DataReceived
Invoke(New ReceiveHandler(AddressOf Receive), Connection.ReadExisting())
End Sub
behandelt ("Handles...").
Da dieses Event allerdings in einem anderen Thread als das Hauptprogramm läuft, musst du den umständlichen Weg über Delegate und Invoke gehen. Entweder es reicht dir so, oder du musst dir das inner Hilfe durchlesen, besser erklären kann ich das auch nich :P
Die Methode Receive wird so jedes Mal aufgerufen, wenn die Schnittstelle Daten empfängt. Als Parameter "text" werden dabei dann die empfangenen Daten übergeben.
Gruß, CowZ
Lesezeichen